fix potential null pointer deref

git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@36840 72102866-910b-0410-8b05-ffd578937521
This commit is contained in:
Richard Frith-MacDonald 2013-07-05 20:47:41 +00:00
parent d65b9254dd
commit b71fde4e19

View file

@ -525,27 +525,30 @@ _GSDebugAllocationList(BOOL difference)
buf = NSZoneMalloc(NSDefaultMallocZone(), siz); buf = NSZoneMalloc(NSDefaultMallocZone(), siz);
} }
if (buf) if (0 == buf)
{ {
pos = 0; return "";
for (i = 0; i < num_classes; i++) }
pos = 0;
for (i = 0; i < num_classes; i++)
{
int val = the_table[i].count;
if (difference)
{ {
int val = the_table[i].count; val -= the_table[i].lastc;
}
the_table[i].lastc = the_table[i].count;
if (difference) if (val != 0)
{ {
val -= the_table[i].lastc; snprintf(&buf[pos], siz - pos, "%d\t%s\n",
} val, class_getName(the_table[i].class));
the_table[i].lastc = the_table[i].count; pos += strlen(&buf[pos]);
if (val != 0)
{
snprintf(&buf[pos], siz - pos, "%d\t%s\n",
val, class_getName(the_table[i].class));
pos += strlen(&buf[pos]);
}
} }
} }
return buf; return buf;
} }
@ -612,21 +615,24 @@ _GSDebugAllocationListAll(void)
buf = NSZoneMalloc(NSDefaultMallocZone(), siz); buf = NSZoneMalloc(NSDefaultMallocZone(), siz);
} }
if (buf) if (0 == buf)
{ {
pos = 0; return "";
for (i = 0; i < num_classes; i++) }
{
int val = the_table[i].total;
if (val != 0) pos = 0;
{ for (i = 0; i < num_classes; i++)
snprintf(&buf[pos], siz - pos, "%d\t%s\n", {
val, class_getName(the_table[i].class)); int val = the_table[i].total;
pos += strlen(&buf[pos]);
} if (val != 0)
{
snprintf(&buf[pos], siz - pos, "%d\t%s\n",
val, class_getName(the_table[i].class));
pos += strlen(&buf[pos]);
} }
} }
return buf; return buf;
} }