From 5271169e05103cbe84fb8a0756049218a24bece8 Mon Sep 17 00:00:00 2001 From: laforge Date: Fri, 4 Nov 2005 13:51:34 +0000 Subject: only conditionally copy input/output keys if they actually exist --- src/ulogd.c | 18 +++++++++++------- 1 file changed, 11 insertions(+), 7 deletions(-) (limited to 'src') diff --git a/src/ulogd.c b/src/ulogd.c index 6e1101a..5eca76a 100644 --- a/src/ulogd.c +++ b/src/ulogd.c @@ -326,15 +326,19 @@ pluginstance_alloc_init(struct ulogd_plugin *pl, char *pi_id, pi->config_kset = NULL; /* copy input keys */ - pi->input = ptr; - memcpy(pi->input, pl->input.keys, - pl->input.num_keys * sizeof(struct ulogd_key)); - ptr += pl->input.num_keys * sizeof(struct ulogd_key); + if (pl->input.num_keys) { + pi->input = ptr; + memcpy(pi->input, pl->input.keys, + pl->input.num_keys * sizeof(struct ulogd_key)); + ptr += pl->input.num_keys * sizeof(struct ulogd_key); + } /* copy input keys */ - pi->output = ptr; - memcpy(pi->output, pl->output.keys, - pl->output.num_keys * sizeof(struct ulogd_key)); + if (pl->output.num_keys) { + pi->output = ptr; + memcpy(pi->output, pl->output.keys, + pl->output.num_keys * sizeof(struct ulogd_key)); + } return pi; } -- cgit v1.2.3