summaryrefslogtreecommitdiff
path: root/usr/src/lib/libfru
diff options
context:
space:
mode:
authorYuri Pankov <yuri.pankov@nexenta.com>2016-10-22 06:26:01 +0300
committerRobert Mustacchi <rm@joyent.com>2016-10-27 16:30:25 -0700
commit8c2118a549b481a22fb9226d58e50c775144c49a (patch)
tree39f16645541bad3bcdd4e58be86c0abc9890b14c /usr/src/lib/libfru
parent5e069aaf824cc0abc9835809924db4929507ee32 (diff)
downloadillumos-joyent-8c2118a549b481a22fb9226d58e50c775144c49a.tar.gz
6194 potential leak of memory pointed to by 'rc_tags' in libfruraw
Reviewed by: Marcel Telka <marcel@telka.sk> Reviewed by: Toomas Soome <tsoome@me.com> Approved by: Robert Mustacchi <rm@joyent.com>
Diffstat (limited to 'usr/src/lib/libfru')
-rw-r--r--usr/src/lib/libfru/libfruraw/fruraw.c24
1 files changed, 7 insertions, 17 deletions
diff --git a/usr/src/lib/libfru/libfruraw/fruraw.c b/usr/src/lib/libfru/libfruraw/fruraw.c
index d776a024c6..b131c0a993 100644
--- a/usr/src/lib/libfru/libfruraw/fruraw.c
+++ b/usr/src/lib/libfru/libfruraw/fruraw.c
@@ -576,7 +576,7 @@ frt_add_tag_to_seg(fru_treehdl_t handle, const char *seg_name,
/* ARGSUSED */
static fru_errno_t
frt_get_tag_list(fru_treehdl_t handle, const char *seg_name,
- fru_tag_t **tags, int *number)
+ fru_tag_t **tags, int *number)
{
/* NOT SUPPORTED */
return (FRU_NOTSUP);
@@ -585,9 +585,8 @@ frt_get_tag_list(fru_treehdl_t handle, const char *seg_name,
/* ARGSUSED */
static fru_errno_t
-frt_get_tag_data(fru_treehdl_t handle, const char *seg_name,
- fru_tag_t tag, int instance,
- uint8_t **data, size_t *data_len)
+frt_get_tag_data(fru_treehdl_t handle, const char *seg_name, fru_tag_t tag,
+ int instance, uint8_t **data, size_t *data_len)
{
/* NOT SUPPORTED */
return (FRU_NOTSUP);
@@ -596,9 +595,8 @@ frt_get_tag_data(fru_treehdl_t handle, const char *seg_name,
/* ARGSUSED */
static fru_errno_t
-frt_set_tag_data(fru_treehdl_t handle, const char *seg_name,
- fru_tag_t tag, int instance,
- uint8_t *data, size_t data_len)
+frt_set_tag_data(fru_treehdl_t handle, const char *seg_name, fru_tag_t tag,
+ int instance, uint8_t *data, size_t data_len)
{
/* NOT SUPPORTED */
return (FRU_NOTSUP);
@@ -616,13 +614,11 @@ frt_delete_tag(fru_treehdl_t handle, const char *seg_name, fru_tag_t tag,
static fru_errno_t
-frt_for_each_packet(fru_seghdl_t node,
- int (*function)(fru_tag_t *tag, uint8_t *payload, size_t length,
- void *args), void *args)
+frt_for_each_packet(fru_seghdl_t node, int (*function)(fru_tag_t *tag,
+ uint8_t *payload, size_t length, void *args), void *args)
{
int rc_num;
int status;
- char *rc_tags;
char *rc_data;
int i;
packet_t *packets = NULL;
@@ -665,12 +661,6 @@ frt_for_each_packet(fru_seghdl_t node,
return (map_errno(errno));
}
- rc_tags = malloc(sizeof (*rc_tags) * (rc_num));
- if (rc_tags == NULL) {
- free(packets);
- return (FRU_FAILURE);
- }
-
/* number of tags */
for (i = 0; i < rc_num; i++) {
size_t rc_len =