diff options
author | joerg <joerg> | 2008-08-02 20:33:50 +0000 |
---|---|---|
committer | joerg <joerg> | 2008-08-02 20:33:50 +0000 |
commit | 7be93b44a0d2e33aa0dd07de5f5b673bf95b27c8 (patch) | |
tree | 8901b5966bac844405a560018181d94cc4eccd35 /pkgtools/pkg_install/files/lib/iterate.c | |
parent | f3a58140319f67643ea733850de213b695037b07 (diff) | |
download | pkgsrc-7be93b44a0d2e33aa0dd07de5f5b673bf95b27c8.tar.gz |
Most memory allocation failures were fatal already and the majority of
the rest lacked an explicit check. Add the usual x* wrappers around
malloc and friends that explicitly terminate on error and use them in
all but Dewey.
Diffstat (limited to 'pkgtools/pkg_install/files/lib/iterate.c')
-rw-r--r-- | pkgtools/pkg_install/files/lib/iterate.c | 16 |
1 files changed, 6 insertions, 10 deletions
diff --git a/pkgtools/pkg_install/files/lib/iterate.c b/pkgtools/pkg_install/files/lib/iterate.c index 36ddc996789..b7aa342e314 100644 --- a/pkgtools/pkg_install/files/lib/iterate.c +++ b/pkgtools/pkg_install/files/lib/iterate.c @@ -280,8 +280,7 @@ match_best_installed(const char *pkg, void *cookie) case 1: /* Current package is better, remember it. */ free(arg->best_current_match); - if ((arg->best_current_match = strdup(pkg)) == NULL) - return -1; + arg->best_current_match = xstrdup(pkg); break; } return 0; @@ -367,8 +366,7 @@ match_best_file(const char *filename, void *cookie) warnx("filename %s does not contain a recognized suffix", filename); return -1; } - if ((filtered_filename = malloc(len - 4 + 1)) == NULL) - err(EXIT_FAILURE, "malloc failed"); + filtered_filename = xmalloc(len - 4 + 1); memcpy(filtered_filename, filename, len - 4); filtered_filename[len - 4] = '\0'; active_filename = filtered_filename; @@ -390,12 +388,11 @@ match_best_file(const char *filename, void *cookie) /* Current package is better, remember it. */ free(arg->best_current_match); free(arg->best_current_match_filtered); - if ((arg->best_current_match = strdup(filename)) == NULL) - err(EXIT_FAILURE, "strdup failed"); + arg->best_current_match = xstrdup(filename); if (filtered_filename != NULL) arg->best_current_match_filtered = filtered_filename; - else if ((arg->best_current_match_filtered = strdup(active_filename)) == NULL) - err(EXIT_FAILURE, "strdup failed"); + else + arg->best_current_match_filtered = xstrdup(active_filename); return 0; default: errx(EXIT_FAILURE, "Invalid error from pkg_order"); @@ -450,8 +447,7 @@ match_file_and_call(const char *filename, void *cookie) warnx("filename %s does not contain a recognized suffix", filename); return -1; } - if ((filtered_filename = malloc(len - 4 + 1)) == NULL) - err(EXIT_FAILURE, "malloc failed"); + filtered_filename = xmalloc(len - 4 + 1); memcpy(filtered_filename, filename, len - 4); filtered_filename[len - 4] = '\0'; active_filename = filtered_filename; |