1) free matches in findSharedFiles()
authorewt <devnull@localhost>
Mon, 21 Oct 1996 01:24:25 +0000 (01:24 +0000)
committerewt <devnull@localhost>
Mon, 21 Oct 1996 01:24:25 +0000 (01:24 +0000)
2) if no matches are found in findSharedFiles() free memory and return
   NULL ptr

CVS patchset: 1121
CVS date: 1996/10/21 01:24:25

lib/uninstall.c

index 9bdc1a6..5d9cdb6 100644 (file)
@@ -69,13 +69,20 @@ int findSharedFiles(rpmdb db, int offset, char ** fileList, int fileCount,
                    itemsUsed++;
                }
            }
+
+           freeDBIndexRecord(matches);
        }
     }
 
-    qsort(list, itemsUsed, sizeof(struct sharedFile), sharedFileCmp);
-
-    *listPtr = list;
-    *listCountPtr = itemsUsed;
+    if (itemsUsed) {
+       qsort(list, itemsUsed, sizeof(struct sharedFile), sharedFileCmp);
+       *listPtr = list;
+       *listCountPtr = itemsUsed;
+    } else {
+       free(list);
+       *listPtr = NULL;
+       *listCountPtr = 0;
+    }
 
     return 0;
 }