Here is a memory leak in RegSetValueExA (from registry.c)

RegSetValueExA calls insert_reg_value() (line 451) which returns
a pointer to a reg_value struct.  
   
    insert_reg_value(key, name, v2, data, size);
    free(c);
    return 0;

insert_reg_value sets v->name to fullname, but v->name never gets freed.

(line 261 of registry.c)
v->name=(char*)malloc(strlen(fullname)+1);
        strcpy(v->name, fullname);
        save_registry();
        return v;


============================================================
Here is a memory leak from pe_image.c/ext.c  

I'm calling the VideoEncoder constructor, and it's eventually
getting to PE_LoadImage (line 435 of pe_image.c).  The memory that is not
getting freed is for load_addr (allocation at line 570, which calls
VirtualAlloc of ext.c on line 432).  

=============================================================
Another leak on the same call to VideoEncoder constructor.

LoadLibraryA calls LoadLibraryExA calls MODULE_LoadLibraryExA calls
PE_LoadLibraryExA calls PE_CreateModule calls fixup_imports (line 277 of
pe_image.c).  fixup_imports calls HeapAlloc at line 277.  There is a leak
here for wm->deps.

 if (!i) return 0;  

    
    wm->nDeps = i;
    wm->deps  = HeapAlloc( GetProcessHeap(), 0, i*sizeof(WINE_MODREF *) );









_______________________________________________
Avifile mailing list
[EMAIL PROTECTED]
http://prak.org/mailman/listinfo/avifile

Reply via email to