Index: third_party/libxml/src/xmlmemory.c |
diff --git a/third_party/libxml/src/xmlmemory.c b/third_party/libxml/src/xmlmemory.c |
index 433abb8efedf5dac482ed744857ccfa896d43309..a3dc737fe098c82f55c48742bcd19c3c4c81f7af 100644 |
--- a/third_party/libxml/src/xmlmemory.c |
+++ b/third_party/libxml/src/xmlmemory.c |
@@ -58,7 +58,7 @@ void xmlMallocBreakpoint(void); |
/************************************************************************ |
* * |
- * Macros, variables and associated types * |
+ * Macros, variables and associated types * |
* * |
************************************************************************/ |
@@ -205,7 +205,8 @@ xmlMallocLoc(size_t size, const char * file, int line) |
if (xmlMemTraceBlockAt == ret) { |
xmlGenericError(xmlGenericErrorContext, |
- "%p : Malloc(%ld) Ok\n", xmlMemTraceBlockAt, size); |
+ "%p : Malloc(%lu) Ok\n", xmlMemTraceBlockAt, |
+ (long unsigned)size); |
xmlMallocBreakpoint(); |
} |
@@ -273,7 +274,8 @@ xmlMallocAtomicLoc(size_t size, const char * file, int line) |
if (xmlMemTraceBlockAt == ret) { |
xmlGenericError(xmlGenericErrorContext, |
- "%p : Malloc(%ld) Ok\n", xmlMemTraceBlockAt, size); |
+ "%p : Malloc(%lu) Ok\n", xmlMemTraceBlockAt, |
+ (long unsigned)size); |
xmlMallocBreakpoint(); |
} |
@@ -311,7 +313,7 @@ xmlMemMalloc(size_t size) |
void * |
xmlReallocLoc(void *ptr,size_t size, const char * file, int line) |
{ |
- MEMHDR *p; |
+ MEMHDR *p, *tmp; |
unsigned long number; |
#ifdef DEBUG_MEMORY |
size_t oldsize; |
@@ -342,14 +344,17 @@ xmlReallocLoc(void *ptr,size_t size, const char * file, int line) |
#endif |
xmlMutexUnlock(xmlMemMutex); |
- p = (MEMHDR *) realloc(p,RESERVE_SIZE+size); |
- if (!p) { |
+ tmp = (MEMHDR *) realloc(p,RESERVE_SIZE+size); |
+ if (!tmp) { |
+ free(p); |
goto error; |
} |
+ p = tmp; |
if (xmlMemTraceBlockAt == ptr) { |
xmlGenericError(xmlGenericErrorContext, |
- "%p : Realloced(%ld -> %ld) Ok\n", |
- xmlMemTraceBlockAt, p->mh_size, size); |
+ "%p : Realloced(%lu -> %lu) Ok\n", |
+ xmlMemTraceBlockAt, (long unsigned)p->mh_size, |
+ (long unsigned)size); |
xmlMallocBreakpoint(); |
} |
p->mh_tag = MEMTAG; |
@@ -509,10 +514,7 @@ xmlMemStrdupLoc(const char *str, const char *file, int line) |
if (xmlMemStopAtBlock == p->mh_number) xmlMallocBreakpoint(); |
- if (s != NULL) |
- strcpy(s,str); |
- else |
- goto error; |
+ strcpy(s,str); |
TEST_POINT |
@@ -580,13 +582,15 @@ xmlMemBlocks(void) { |
static void |
xmlMemContentShow(FILE *fp, MEMHDR *p) |
{ |
- int i,j,k,len = p->mh_size; |
- const char *buf = (const char *) HDR_2_CLIENT(p); |
+ int i,j,k,len; |
+ const char *buf; |
if (p == NULL) { |
fprintf(fp, " NULL"); |
return; |
} |
+ len = p->mh_size; |
+ buf = (const char *) HDR_2_CLIENT(p); |
for (i = 0;i < len;i++) { |
if (buf[i] == 0) break; |