From: Vincent Bernat Date: Sat, 1 Jun 2013 09:48:24 +0000 (+0200) Subject: lib: fix a memory leak when modifying interface pattern X-Git-Tag: 0.7.4~27 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=e26a25ca4d0e8fbc523f2a2657df6e75a22b1b55;p=thirdparty%2Flldpd.git lib: fix a memory leak when modifying interface pattern --- diff --git a/src/daemon/client.c b/src/daemon/client.c index a3029e5c..08e9d428 100644 --- a/src/daemon/client.c +++ b/src/daemon/client.c @@ -97,6 +97,7 @@ client_handle_set_configuration(struct lldpd *cfg, enum hmsg_type *type, #endif if (config->c_iface_pattern) { log_debug("rpc", "change c_iface_pattern %s", config->c_iface_pattern); + free(cfg->g_config.c_iface_pattern); cfg->g_config.c_iface_pattern = strdup(config->c_iface_pattern); } diff --git a/src/lib/atom-private.c b/src/lib/atom-private.c index 804154e7..9ec61ce6 100644 --- a/src/lib/atom-private.c +++ b/src/lib/atom-private.c @@ -387,6 +387,7 @@ _lldpctl_atom_set_str_config(lldpctl_atom_t *atom, lldpctl_key_t key, return NULL; memcpy(iface_pattern, value, len); config.c_iface_pattern = iface_pattern; + free(c->config->c_iface_pattern); c->config->c_iface_pattern = strdup(iface_pattern); break; default: