diff options
| author | Yuri Pankov <yuri.pankov@nexenta.com> | 2016-10-22 06:26:01 +0300 |
|---|---|---|
| committer | Robert Mustacchi <rm@joyent.com> | 2016-10-27 16:30:25 -0700 |
| commit | 8c2118a549b481a22fb9226d58e50c775144c49a (patch) | |
| tree | 39f16645541bad3bcdd4e58be86c0abc9890b14c /usr/src/lib/libfru | |
| parent | 5e069aaf824cc0abc9835809924db4929507ee32 (diff) | |
| download | illumos-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.c | 24 |
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 = |
