summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorlaforge <laforge>2005-11-04 13:51:34 +0000
committerlaforge <laforge>2005-11-04 13:51:34 +0000
commit5271169e05103cbe84fb8a0756049218a24bece8 (patch)
tree19014051ac403bfff7341806e31e67c67a48e980
parent996bfa920126d9fbdec07ae11b35ea5a4b9fa903 (diff)
only conditionally copy input/output keys if they actually exist
-rw-r--r--src/ulogd.c18
1 files changed, 11 insertions, 7 deletions
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;
}