summaryrefslogtreecommitdiffstats
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
parentbdb25b0af8bd225ddf82083d767fada56fb2c1ae (diff)
downloadlinux-stable-6b20f40679108e3c04e9bdb3d719e364ec29289e.tar.gz
linux-stable-6b20f40679108e3c04e9bdb3d719e364ec29289e.tar.bz2
linux-stable-6b20f40679108e3c04e9bdb3d719e364ec29289e.zip
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>
-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)