It seems like a calloc() fails in your case... Did you run out of memory in
your box?
The only way FS_ParsedName_destroy() is called from FS_OWQ_create(), is if
calloc() returns a null-pointer...
Also... Perhaps pn->selected_filetype->ag->elements < 0 for some reason?


Thread 1 (process 9294):
#0  0xb7dd7f38 in free () from /lib/tls/libc.so.6
#1  0xb7dd9ddf in malloc () from /lib/tls/libc.so.6
#2  0xb7ddd620 in strdup () from /lib/tls/libc.so.6
#3  0xb7f08263 in FS_ParsedName_destroy () from /usr/lib/libow-2.7.so.1
#4  0xb7f08fe7 in FS_OWQ_create () from /usr/lib/libow-2.7.so.1
#5  0x0804a4b4 in ?? ()
#6  0xb7ead0bd in start_thread () from /lib/tls/libpthread.so.0
#7  0xb7e3dace in clone () from /lib/tls/libc.so.6



/* Create the Parsename structure and load the relevant fields */
int FS_OWQ_create( const char * path, char * buffer, size_t size, off_t
offset, struct one_wire_query * owq )
{
    struct parsedname * pn = PN(owq) ;
    
    LEVEL_DEBUG("FS_OWQ_create of %s\n",path) ;
    if ( FS_ParsedName(path,pn) ) return -ENOENT ;
    OWQ_buffer(owq) = buffer ;
    OWQ_size(  owq) = size ;
    OWQ_offset(owq) = offset ;
    if ( pn->extension == EXTENSION_ALL && pn->type != ePN_structure ) {
        OWQ_array(owq) = calloc((size_t)
pn->selected_filetype->ag->elements, sizeof(union value_object)) ;
        if (OWQ_array(owq) == NULL ) {
            FS_ParsedName_destroy( pn ) ;
            return -ENOMEM ;
        }
    } else {
        OWQ_I(owq) = 0 ;
    }
    return 0 ;
}



-------------------------------------------------------------------------
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2005.
http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/
_______________________________________________
Owfs-developers mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/owfs-developers

Reply via email to