diff options
author | Yuri Pankov <yuri.pankov@nexenta.com> | 2017-02-22 00:52:02 +0300 |
---|---|---|
committer | Robert Mustacchi <rm@joyent.com> | 2017-03-05 17:18:54 +0000 |
commit | 89ac1330de393e78c8b27c33453223b10d3c18da (patch) | |
tree | 78346d636ade7182ad0245318d96cbb0f4dc3bb9 /usr/src | |
parent | 39b16bd33a2633978bee6aed53e3afeb26399eb4 (diff) | |
download | illumos-joyent-89ac1330de393e78c8b27c33453223b10d3c18da.tar.gz |
7932 cfgadm_plugins/shp: memory leaks in cfga_list_ext()
Reviewed by: Jan Kryl <jan.kryl@nexenta.com>
Reviewed by: Dan Fields <dan.fields@nexenta.com>
Reviewed by: Toomas Soome <tsoome@me.com>
Reviewed by: Igor Kozhukhov <igor@dilos.org>
Approved by: Robert Mustacchi <rm@joyent.com>
Diffstat (limited to 'usr/src')
-rw-r--r-- | usr/src/lib/cfgadm_plugins/shp/common/shp.c | 11 |
1 files changed, 7 insertions, 4 deletions
diff --git a/usr/src/lib/cfgadm_plugins/shp/common/shp.c b/usr/src/lib/cfgadm_plugins/shp/common/shp.c index 50d335a1bc..f8bbda4f7f 100644 --- a/usr/src/lib/cfgadm_plugins/shp/common/shp.c +++ b/usr/src/lib/cfgadm_plugins/shp/common/shp.c @@ -1378,6 +1378,7 @@ cfga_list_ext(const char *ap_id, cfga_list_data_t **cs, { char *boardtype; char *cardtype; + char *tmpb = NULL, *tmpc = NULL; struct searcharg slotname_arg; int fd; int rv = CFGA_OK; @@ -1498,16 +1499,16 @@ cfga_list_ext(const char *ap_id, cfga_list_data_t **cs, (*cs)->ap_status_time = hp_last_change(node); /* board type */ - if (hp_get_private(node, PCIEHPC_PROP_BOARD_TYPE, &boardtype) != 0) + if (hp_get_private(node, PCIEHPC_PROP_BOARD_TYPE, &tmpb) != 0) boardtype = PCIEHPC_PROP_VALUE_UNKNOWN; else - boardtype = get_val_from_result(boardtype); + boardtype = get_val_from_result(tmpb); /* card type */ - if (hp_get_private(node, PCIEHPC_PROP_CARD_TYPE, &cardtype) != 0) + if (hp_get_private(node, PCIEHPC_PROP_CARD_TYPE, &tmpc) != 0) cardtype = PCIEHPC_PROP_VALUE_UNKNOWN; else - cardtype = get_val_from_result(cardtype); + cardtype = get_val_from_result(tmpc); /* logical ap_id */ rv = fix_ap_name((*cs)->ap_log_id, ap_id, @@ -1541,6 +1542,8 @@ cfga_list_ext(const char *ap_id, cfga_list_data_t **cs, DBG(1, ("cfga_list_ext return success\n")); rv = CFGA_OK; + free(tmpb); + free(tmpc); hp_fini(node); return (rv); } |