summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-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;
}