r4445 - in trunk/src/target/opkg: libbb libopkg

thomas at docs.openmoko.org thomas at docs.openmoko.org
Wed May 21 11:57:10 CEST 2008


Author: thomas
Date: 2008-05-21 11:57:10 +0200 (Wed, 21 May 2008)
New Revision: 4445

Modified:
   trunk/src/target/opkg/libbb/unarchive.c
   trunk/src/target/opkg/libopkg/pkg_depends.c
   trunk/src/target/opkg/libopkg/pkg_hash.c
Log:
opkg: (leak fixing, day 3) fixed final memory leaks fixed reported from
running libopkg_test


Modified: trunk/src/target/opkg/libbb/unarchive.c
===================================================================
--- trunk/src/target/opkg/libbb/unarchive.c	2008-05-21 03:02:15 UTC (rev 4444)
+++ trunk/src/target/opkg/libbb/unarchive.c	2008-05-21 09:57:10 UTC (rev 4445)
@@ -755,6 +755,8 @@
 				output_buffer = unarchive(uncompressed_stream, out_stream, get_header_tar, free_header_tar, extract_function, prefix, file_list);
 			}
 			seek_sub_file(deb_stream, ar_header->size);
+			free (ar_header->name);
+			free (ar_header);
 		}
 		gz_close(gunzip_pid);
 		fclose(deb_stream);

Modified: trunk/src/target/opkg/libopkg/pkg_depends.c
===================================================================
--- trunk/src/target/opkg/libopkg/pkg_depends.c	2008-05-21 03:02:15 UTC (rev 4444)
+++ trunk/src/target/opkg/libopkg/pkg_depends.c	2008-05-21 09:57:10 UTC (rev 4445)
@@ -372,6 +372,7 @@
 
     comparison = pkg_compare_versions(pkg, temp);
 
+    free (temp->version);
     free(temp);
 
     if((depends->constraint == EARLIER) && 
@@ -661,6 +662,8 @@
 
     if (!pkg->provides_count)
       return 0;
+    if (pkg->provides)
+      return 0;
 
     pkg->provides = (abstract_pkg_t **)malloc(sizeof(abstract_pkg_t *) * (pkg->provides_count + 1));
     if (pkg->provides == NULL) {

Modified: trunk/src/target/opkg/libopkg/pkg_hash.c
===================================================================
--- trunk/src/target/opkg/libopkg/pkg_hash.c	2008-05-21 03:02:15 UTC (rev 4444)
+++ trunk/src/target/opkg/libopkg/pkg_hash.c	2008-05-21 09:57:10 UTC (rev 4445)
@@ -140,6 +140,7 @@
 	       }
 	       hash_insert_pkg(hash, pkg, is_status_file,conf);
 	  } else {
+	       pkg_deinit (pkg);
 	       free(pkg);
 	  }
      }





More information about the commitlog mailing list