summaryrefslogtreecommitdiff
path: root/pkgtools/pkg_install/files/lib/vulnerabilities-file.c
diff options
context:
space:
mode:
Diffstat (limited to 'pkgtools/pkg_install/files/lib/vulnerabilities-file.c')
-rw-r--r--pkgtools/pkg_install/files/lib/vulnerabilities-file.c36
1 files changed, 12 insertions, 24 deletions
diff --git a/pkgtools/pkg_install/files/lib/vulnerabilities-file.c b/pkgtools/pkg_install/files/lib/vulnerabilities-file.c
index 12bcbfe95b0..0c783064f5b 100644
--- a/pkgtools/pkg_install/files/lib/vulnerabilities-file.c
+++ b/pkgtools/pkg_install/files/lib/vulnerabilities-file.c
@@ -36,7 +36,7 @@
#if HAVE_SYS_CDEFS_H
#include <sys/cdefs.h>
#endif
-__RCSID("$NetBSD: vulnerabilities-file.c,v 1.3.4.5 2008/07/05 17:26:40 joerg Exp $");
+__RCSID("$NetBSD: vulnerabilities-file.c,v 1.3.4.6 2008/08/02 20:33:50 joerg Exp $");
#if HAVE_SYS_STAT_H
#include <sys/stat.h>
@@ -346,27 +346,21 @@ add_vulnerability(struct pkg_vulnerabilities *pv, size_t *allocated, const char
*allocated *= 2;
else
errx(EXIT_FAILURE, "Too many vulnerabilities");
- pv->vulnerability = realloc(pv->vulnerability,
+ pv->vulnerability = xrealloc(pv->vulnerability,
sizeof(char *) * *allocated);
- pv->classification = realloc(pv->classification,
+ pv->classification = xrealloc(pv->classification,
sizeof(char *) * *allocated);
- pv->advisory = realloc(pv->advisory,
+ pv->advisory = xrealloc(pv->advisory,
sizeof(char *) * *allocated);
- if (pv->vulnerability == NULL ||
- pv->classification == NULL || pv->advisory == NULL)
- errx(EXIT_FAILURE, "realloc failed");
}
- if ((pv->vulnerability[pv->entries] = malloc(len_pattern + 1)) == NULL)
- errx(EXIT_FAILURE, "malloc failed");
+ pv->vulnerability[pv->entries] = xmalloc(len_pattern + 1);
memcpy(pv->vulnerability[pv->entries], start_pattern, len_pattern);
pv->vulnerability[pv->entries][len_pattern] = '\0';
- if ((pv->classification[pv->entries] = malloc(len_class + 1)) == NULL)
- errx(EXIT_FAILURE, "malloc failed");
+ pv->classification[pv->entries] = xmalloc(len_class + 1);
memcpy(pv->classification[pv->entries], start_class, len_class);
pv->classification[pv->entries][len_class] = '\0';
- if ((pv->advisory[pv->entries] = malloc(len_url + 1)) == NULL)
- errx(EXIT_FAILURE, "malloc failed");
+ pv->advisory[pv->entries] = xmalloc(len_url + 1);
memcpy(pv->advisory[pv->entries], start_url, len_url);
pv->advisory[pv->entries][len_url] = '\0';
@@ -400,8 +394,7 @@ read_pkg_vulnerabilities(const char *path, int ignore_missing, int check_sum)
input_len = (size_t)st.st_size;
if (input_len < 4)
err(EXIT_FAILURE, "Input too short for a pkg_vulnerability file");
- if ((input = malloc(input_len + 1)) == NULL)
- err(EXIT_FAILURE, "malloc failed");
+ input = xmalloc(input_len + 1);
if ((bytes_read = read(fd, input, input_len)) == -1)
err(1, "Failed to read input");
if (bytes_read != st.st_size)
@@ -429,9 +422,7 @@ parse_pkg_vulnerabilities(const char *input, size_t input_len, int check_sum)
size_t allocated_vulns;
int in_pgp_msg;
- pv = malloc(sizeof(*pv));
- if (pv == NULL)
- err(EXIT_FAILURE, "malloc failed");
+ pv = xmalloc(sizeof(*pv));
allocated_vulns = pv->entries = 0;
pv->vulnerability = NULL;
@@ -531,15 +522,12 @@ parse_pkg_vulnerabilities(const char *input, size_t input_len, int check_sum)
}
if (pv->entries != allocated_vulns) {
- pv->vulnerability = realloc(pv->vulnerability,
+ pv->vulnerability = xrealloc(pv->vulnerability,
sizeof(char *) * pv->entries);
- pv->classification = realloc(pv->classification,
+ pv->classification = xrealloc(pv->classification,
sizeof(char *) * pv->entries);
- pv->advisory = realloc(pv->advisory,
+ pv->advisory = xrealloc(pv->advisory,
sizeof(char *) * pv->entries);
- if (pv->vulnerability == NULL ||
- pv->classification == NULL || pv->advisory == NULL)
- errx(EXIT_FAILURE, "realloc failed");
}
return pv;