]> git.ipfire.org Git - thirdparty/lldpd.git/commitdiff
lib: fix a memory leak when modifying interface pattern
authorVincent Bernat <bernat@luffy.cx>
Sat, 1 Jun 2013 09:48:24 +0000 (11:48 +0200)
committerVincent Bernat <bernat@luffy.cx>
Sat, 1 Jun 2013 09:54:49 +0000 (11:54 +0200)
src/daemon/client.c
src/lib/atom-private.c

index a3029e5cb89fbcc40bec67c99a82a78b78ca38b1..08e9d428dc0b8568b366a082345605749addf25d 100644 (file)
@@ -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);
        }
 
index 804154e79e47920915252ebd38a2091393a765ca..9ec61ce6d0ffaaf5f859eb8a6517fa09359a519c 100644 (file)
@@ -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: