[xml] RE: [xmlsec] xmlSecPtrListEnsureSize failing
- From: Jesse Pelton <jsp PKC com>
- To: Rob Richards <rrichards ctindustries net>
- Cc: xmlsec aleksey com, "'xml gnome org'" <xml gnome org>
- Subject: [xml] RE: [xmlsec] xmlSecPtrListEnsureSize failing
- Date: Thu, 22 Jan 2004 13:43:17 -0500
Your recollection is right, but Daniel checked in a change last April that
makes xmlReallocLoc() return NULL if passed NULL. See
http://cvs.gnome.org/bonsai/cvsview2.cgi?diff_mode=context&whitespace_mode=s
how&file=xmlmemory.c&branch=&root=/cvs/gnome&subdir=gnome-xml&command=DIFF_F
RAMESET&rev1=1.39&rev2=1.40. CCing the libxml list so Daniel can comment.
-----Original Message-----
From: Aleksey Sanin [mailto:aleksey aleksey com]
Sent: Thursday, January 22, 2004 1:29 PM
To: Rob Richards
Cc: xmlsec aleksey com
Subject: Re: [xmlsec] xmlSecPtrListEnsureSize failing
xmlRealloc() is realloc() eququivalent. And as far as I can remember,
ANSI C realloc() MUST accept NULL pointer as first argument.
Aleksey
Rob Richards wrote on 1/22/2004, 10:00 AM:
Sorry but I don't see this code. What I have is :
if(newSize < gInitialSize) {
newSize = gInitialSize;
}
newData = (xmlSecPtr*)xmlRealloc(list->data,
sizeof(xmlSecPtr) *
newSize);
That's the origional source. I modified it to the following
which fixed the
problem for me:
if(newSize < gInitialSize) {
newSize = gInitialSize;
}
if (list->data) {
newData = (xmlSecPtr*)xmlRealloc(list->data,
sizeof(xmlSecPtr) *
newSize);
} else {
newData = (xmlSecPtr*)xmlMalloc(sizeof(xmlSecPtr) * newSize);
}
under the origional source, list->data when entering
xmlRealloc was NULL, so
the xmlRealloc call would fail as it explcitly tests for
NULL before doing
anything.
Am I missing something that wouldnt require the above
as I see the call
to
xmlFree(list->data) in xmlSecPtrListEmpty, but dont see
where list->data
is
actually alloc'd.
Few lines bellow:
list->data = newData;
list->max = newSize;
newData was NULL when returned from xmlRealloc, list->data
is just set to
NULL (which is what it currently is anyways).
After this it falls into the xmlSecError handler.
list->data doesnt ever
seem to have been initialized anywhere and the origional
source is expecting
it to not be pointing at a zero'd out memory block.
Rob
_______________________________________________
xmlsec mailing list
xmlsec aleksey com
http://www.aleksey.com/mailman/listinfo/xmlsec
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]