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