summaryrefslogtreecommitdiffstats
path: root/tools/iio
diff options
context:
space:
mode:
authorJoo Aun Saw <jasaw@dius.com.au>2015-07-25 01:23:28 +1000
committerJonathan Cameron <jic23@kernel.org>2015-08-08 19:51:39 +0100
commit6b20f40679108e3c04e9bdb3d719e364ec29289e (patch)
tree7559c86e74bccf6b8121cbe604f187e3bcd784da /tools/iio
parentbdb25b0af8bd225ddf82083d767fada56fb2c1ae (diff)
downloadlinux-6b20f40679108e3c04e9bdb3d719e364ec29289e.tar.bz2
tools: iio: Set caller's ci_array pointer to NULL after free
On error, caller's ci_array is freed and set to NULL to avoid potential double free if some other user of this code is not sufficiently careful. Counter is reset to zero for consistency. Signed-off-by: Joo Aun Saw <jasaw@dius.com.au> Signed-off-by: Jonathan Cameron <jic23@kernel.org>
Diffstat (limited to 'tools/iio')
-rw-r--r--tools/iio/iio_utils.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/tools/iio/iio_utils.c b/tools/iio/iio_utils.c
index 4bbd6e7959cd..8475b832ee39 100644
--- a/tools/iio/iio_utils.c
+++ b/tools/iio/iio_utils.c
@@ -526,6 +526,8 @@ error_cleanup_array:
free((*ci_array)[i].generic_name);
}
free(*ci_array);
+ *ci_array = NULL;
+ *counter = 0;
error_close_dir:
if (dp)
if (closedir(dp) == -1)