From a5cf250034b1f4c3fbd0b2081a756db9b20d9c7e Mon Sep 17 00:00:00 2001 From: "/C=EU/ST=EU/CN=Pablo Neira Ayuso/emailAddress=pablo@netfilter.org" Date: Thu, 17 Jan 2008 17:20:25 +0000 Subject: Max Kellermann : check for malloc() failure in merge_opts --- src/conntrack.c | 5 +++++ 1 file changed, 5 insertions(+) (limited to 'src') diff --git a/src/conntrack.c b/src/conntrack.c index b8843d4..7918b3f 100644 --- a/src/conntrack.c +++ b/src/conntrack.c @@ -271,6 +271,9 @@ merge_options(struct option *oldopts, const struct option *newopts, *option_offset = global_option_offset; merge = malloc(sizeof(struct option) * (num_new + num_old + 1)); + if (merge == NULL) + return NULL; + memcpy(merge, oldopts, num_old * sizeof(struct option)); for (i = 0; i < num_new; i++) { merge[num_old + i] = newopts[i]; @@ -838,6 +841,8 @@ int main(int argc, char *argv[]) ATTR_ORIG_L4PROTO, h->protonum); opts = merge_options(opts, h->opts, &h->option_offset); + if (opts == NULL) + exit_error(EXIT_FAILURE, "out of memory\n"); break; case 't': options |= CT_OPT_TIMEOUT; -- cgit v1.2.3