diff --git a/lib/hook.c b/lib/hook.c index 2d24369c5..ef5dcbd98 100644 --- a/lib/hook.c +++ b/lib/hook.c @@ -147,7 +147,7 @@ int hook_parse(config_setting_t *cfg, struct list *list) if (!plg) cerror(cfg, "Unknown hook function '%s'", name); - hook = memdup(&plg->hook, sizeof(struct hook)); + hook = memdup(&plg->hook, sizeof(plg->hook)); hook->parameter = param; list_push(list, hook); diff --git a/lib/nodes/ngsi.c b/lib/nodes/ngsi.c index 1b8f1bc99..e411d6736 100644 --- a/lib/nodes/ngsi.c +++ b/lib/nodes/ngsi.c @@ -201,7 +201,7 @@ static int ngsi_parse_mapping(struct list *mapping, config_setting_t *cfg) list_init(&map.metadata); struct ngsi_metadata meta; while (sscanf(token, " %m[^(](%m[^)])=%ms%n", &meta.name, &meta.type, &meta.value, &bytes) == 3) { INDENT - list_push(&map.metadata, memdup(&meta, sizeof(struct ngsi_metadata))); + list_push(&map.metadata, memdup(&meta, sizeof(meta))); token += bytes; } @@ -219,10 +219,10 @@ static int ngsi_parse_mapping(struct list *mapping, config_setting_t *cfg) }; snprintf(index.value, 8, "%u", j); - list_push(&map.metadata, memdup(&index, sizeof(struct ngsi_metadata))); - list_push(&map.metadata, memdup(&source, sizeof(struct ngsi_metadata))); + list_push(&map.metadata, memdup(&index, sizeof(index))); + list_push(&map.metadata, memdup(&source, sizeof(source))); - list_push(mapping, memdup(&map, sizeof(struct ngsi_attribute))); + list_push(mapping, memdup(&map, sizeof(map))); } return 0;