Ticket #1765: tt1765.patch

File tt1765.patch, 1.3 KB (added by bluescreen, 11 years ago)

Possible patch

  • src/gc/alloc_memory.c

    diff --git a/src/gc/alloc_memory.c b/src/gc/alloc_memory.c
    index 908e5d3..b63e393 100644
    a b  
    5656#ifdef DETAIL_MEMORY_DEBUG 
    5757    fprintf(stderr, "Allocated %i at %p\n", size, ptr); 
    5858#endif 
    59     if (!ptr && size) 
     59    if (!ptr && size) { 
     60        free(ptr); 
    6061        PANIC_OUT_OF_MEM(size); 
     62    } 
    6163    return ptr; 
    6264} 
    6365 
     
    8385#ifdef DETAIL_MEMORY_DEBUG 
    8486    fprintf(stderr, "Allocated %i at %p\n", size, ptr); 
    8587#endif 
    86     if (!ptr && size) 
     88    if (!ptr && size) { 
     89        free(ptr); 
    8790        PANIC_OUT_OF_MEM(size); 
     91    } 
    8892    return ptr; 
    8993} 
    9094 
     
    118122#ifdef DETAIL_MEMORY_DEBUG 
    119123    fprintf(stderr, "Allocated %i at %p\n", size, ptr); 
    120124#endif 
    121     if (!ptr && size) 
     125    if (!ptr && size) { 
     126        free(ptr); 
    122127        PANIC_OUT_OF_MEM(size); 
     128    } 
    123129    return ptr; 
    124130} 
    125131 
     
    151157#ifdef DETAIL_MEMORY_DEBUG 
    152158    fprintf(stderr, "Allocated %i at %p\n", size, ptr); 
    153159#endif 
    154     if (!ptr && size) 
     160    if (!ptr && size) { 
     161        free(ptr); 
    155162        PANIC_OUT_OF_MEM(size); 
     163    } 
    156164 
    157165    if (size > old_size) 
    158166        memset((char*)ptr + old_size, 0, size - old_size);