1
0
mirror of https://github.com/moparisthebest/pacman synced 2024-12-22 15:58:50 -05:00
pacman/lib/libalpm
Dan McGee 7a6b01d46c Don't realloc a 0-length files array when loading packages
There is some pecular behavior going on here when a package is loaded
that has no files, as is very common in our test suite. When we enter
the realloc/sort code, a package without files will call the following:

    files = realloc(NULL, 0);

One would assume this is a no-op, returning a NULL pointer, but that is
not the case and valgrind later reports we are leaking memory. Fix the
whole thing by skipping the reallocation and sort steps if the pointer
is NULL, as we have nothing to do.

Note that the package still gets marked as 'files loaded', becuase
although there were none, we tried and were successful.

Signed-off-by: Dan McGee <dan@archlinux.org>
2011-10-26 15:44:55 -05:00
..
po Final Transifex update before 4.0 2011-10-12 13:42:12 -05:00
.gitignore Remove unnecessary entries from .gitignore files 2007-07-16 16:49:28 -04:00
add.c Revamp scriptlet path formation for scriptlets in local database 2011-09-30 10:55:58 -05:00
add.h Rename pmhandle_t to alpm_handle_t 2011-06-28 14:04:00 +10:00
alpm_list.c alpm_list: use malloc instead of calloc 2011-09-27 17:49:27 -05:00
alpm_list.h Convert package filelists to an array instead of linked list 2011-07-21 15:04:30 -05:00
alpm.c Initialize cURL library on first use 2011-09-28 13:01:03 -05:00
alpm.h Update Doxyfile and fix some documentation errors caught by Doxygen 2011-09-22 16:37:36 -05:00
backup.c Allow fileconflict if unowned file moving into backup array 2011-07-14 15:34:04 -05:00
backup.h Allow fileconflict if unowned file moving into backup array 2011-07-14 15:34:04 -05:00
base64.c Update base64 PolarSSL code 2011-08-15 06:24:49 -05:00
base64.h Update base64 PolarSSL code 2011-08-15 06:24:49 -05:00
be_local.c Use _alpm_local_db_pkgpath in _cache_changelog_open 2011-09-30 11:08:49 -05:00
be_package.c Don't realloc a 0-length files array when loading packages 2011-10-26 15:44:55 -05:00
be_sync.c Refactor download payload reset and free 2011-09-28 13:01:03 -05:00
conflict.c Ensure fileconflict value is actually a string 2011-09-26 17:36:29 -05:00
conflict.h Convert package filelists to an array instead of linked list 2011-07-21 15:04:30 -05:00
db.c Access db->pkgcache directly in db_free_pkgcache() 2011-09-20 10:23:10 -05:00
db.h Revamp scriptlet path formation for scriptlets in local database 2011-09-30 10:55:58 -05:00
delta.c account for partial delta files in download size 2011-09-11 19:10:48 -05:00
delta.h Rename pmdelta_t to alpm_delta_t 2011-06-28 23:28:23 +10:00
deps.c _alpm_splitdep: use malloc instead of calloc 2011-09-27 17:52:38 -05:00
deps.h Be more robust when copying package data 2011-08-19 11:09:57 -05:00
diskspace.c diskspace: fix memory leak on root mount not found 2011-09-08 14:18:19 -05:00
diskspace.h Use more correct integer types in diskspace checks 2011-09-07 21:05:04 -05:00
dload.c Add more logging to download code 2011-10-24 13:49:14 -05:00
dload.h Add missing #ifdef around cURL error code in download struct 2011-10-14 07:38:58 -05:00
error.c Attempt to fix up some of the brokenness around failed package loads 2011-08-08 19:42:52 -05:00
graph.c Rename pmgraph_t to alpm_graph_t 2011-06-28 23:28:24 +10:00
graph.h Rename pmgraph_t to alpm_graph_t 2011-06-28 23:28:24 +10:00
group.c Rename internal functions with grp in their name 2011-06-29 15:52:33 +10:00
group.h Rename internal functions with grp in their name 2011-06-29 15:52:33 +10:00
handle.c Move default siglevel value from backend to frontend 2011-09-22 10:32:30 -05:00
handle.h Initialize cURL library on first use 2011-09-28 13:01:03 -05:00
log.c Prefix _alpm_errno_t members with ALPM 2011-07-02 02:01:39 +10:00
log.h Rename pmloglevel_t to alpm_loglevel_t 2011-06-28 23:28:24 +10:00
Makefile.am Add sha2 (sha256) routines from PolarSSL 2011-08-15 07:07:13 -05:00
md5.c Update MD5 routines with changes from PolarSSL 2011-08-11 20:17:21 -05:00
md5.h Update MD5 routines with changes from PolarSSL 2011-08-11 20:17:21 -05:00
package.c Revert "libalpm: compare pkgname with strcoll" 2011-09-27 20:24:04 -05:00
package.h Pass package signature data up one more level 2011-09-20 10:23:11 -05:00
pkghash.c alpm_list: use malloc instead of calloc 2011-09-27 17:49:27 -05:00
pkghash.h Rename pmpkghash_t to alpm_pkghash_t 2011-06-28 23:28:24 +10:00
rawstr.c include util.h in rawstr.c 2011-07-05 22:36:40 -05:00
remove.c Revamp scriptlet path formation for scriptlets in local database 2011-09-30 10:55:58 -05:00
remove.h Be smarter about running ldconfig during removal transactions 2011-09-19 13:18:42 -05:00
sha2.c Add sha2 (sha256) routines from PolarSSL 2011-08-15 07:07:13 -05:00
sha2.h Add sha2 (sha256) routines from PolarSSL 2011-08-15 07:07:13 -05:00
signing.c Show an error message on failed remote key lookup 2011-10-17 09:38:35 -05:00
signing.h signing: add a process and retry loop for database signatures 2011-09-20 10:23:11 -05:00
sync.c lib/sync: inform callers of compute_download_size of a partial 2011-10-25 10:38:12 -05:00
sync.h Rename pmhandle_t to alpm_handle_t 2011-06-28 14:04:00 +10:00
trans.c Refactor _alpm_runscriptlet() 2011-09-30 10:55:58 -05:00
trans.h Refactor _alpm_runscriptlet() 2011-09-30 10:55:58 -05:00
util.c Parse '0' as a valid package installed size 2011-10-04 15:31:17 -05:00
util.h _alpm_parsedate(): return time_t and not long 2011-09-01 12:36:11 -05:00
version.c vercmp: ensure 2.0a and 2.0.a do not compare equal 2011-08-23 01:49:29 -05:00