opkg: (leak fixing, day 3) fixed final memory leaks fixed reported from
[oweals/opkg-lede.git] / libopkg / pkg_depends.c
index 7ebd04e75b49c7820b9149b07f7b0b62d7e3a6c6..bc2ac27886a19686ea318b8c43b8624e2b8773b9 100644 (file)
@@ -1,4 +1,4 @@
-/* pkg_depends.c - the itsy package management system
+/* pkg_depends.c - the opkg package management system
 
    Steven M. Ayer
    
@@ -15,7 +15,7 @@
    General Public License for more details.
 */
 
-#include "opkg.h"
+#include "includes.h"
 #include <errno.h>
 #include <ctype.h>
    
@@ -372,6 +372,7 @@ int version_constraints_satisfied(depend_t * depends, pkg_t * pkg)
 
     comparison = pkg_compare_versions(pkg, temp);
 
+    free (temp->version);
     free(temp);
 
     if((depends->constraint == EARLIER) && 
@@ -661,6 +662,8 @@ int buildProvides(hash_table_t * hash, abstract_pkg_t * ab_pkg, pkg_t * pkg)
 
     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) {