Changeset 4562


Ignore:
Timestamp:
07/29/08 16:07:05 (5 years ago)
Author:
tick
Message:

opkg: remove a serious memory leak

when searching every package opkg will clone the package but never released.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/target/opkg/libopkg/opkg.c

    r4545 r4562  
    565565  { 
    566566    /* XXX:  Error: Package seems to be not installed (STATUS = NOT_INSTALLED). */ 
     567    opkg_package_free (pdata.package); 
    567568    return OPKG_PACKAGE_NOT_INSTALLED; 
    568569  } 
     
    640641  if (err) 
    641642  { 
     643 
     644    opkg_package_free (pdata.package); 
    642645    switch (err) 
    643646    { 
     
    655658 
    656659  err = opkg_configure_packages (opkg->conf, NULL); 
    657   if (err) 
     660  if (err) { 
     661    opkg_package_free (pdata.package);   
    658662    return OPKG_UNKNOWN_ERROR; 
     663  } 
    659664 
    660665  /* write out status files and file lists */ 
     
    907912    package = old_pkg_to_new (pkg); 
    908913    callback (opkg, package, user_data); 
     914    opkg_package_free (package); 
    909915  } 
    910916 
     
    951957      package = old_pkg_to_new (new); 
    952958      callback (opkg, package, user_data); 
     959      opkg_package_free (package); 
    953960    } 
    954961  } 
Note: See TracChangeset for help on using the changeset viewer.