Re: [PATCH 05/32] tools:iio:iio_utils: fix allocation handling

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 31/05/15 13:39, Hartmut Knaack wrote:
> In build_channel_array(), count needs to be decreased in more places since
> current->name and current->generic_name would be freed on the error path,
> although they have not been allocated, yet.
> This also requires to free current->name, when it is allocated, but
> current->generic_name is not yet allocated.
> 
> Signed-off-by: Hartmut Knaack <knaack.h@xxxxxx>
Applied.
> ---
>  tools/iio/iio_utils.c | 4 ++++
>  1 file changed, 4 insertions(+)
> 
> diff --git a/tools/iio/iio_utils.c b/tools/iio/iio_utils.c
> index 6daf98f..1c0ca2f 100644
> --- a/tools/iio/iio_utils.c
> +++ b/tools/iio/iio_utils.c
> @@ -334,6 +334,7 @@ int build_channel_array(const char *device_dir,
>  			if (sysfsfp == NULL) {
>  				free(filename);
>  				ret = -errno;
> +				count--;
>  				goto error_cleanup_array;
>  			}
>  			fscanf(sysfsfp, "%i", &current_enabled);
> @@ -353,6 +354,7 @@ int build_channel_array(const char *device_dir,
>  			if (current->name == NULL) {
>  				free(filename);
>  				ret = -ENOMEM;
> +				count--;
>  				goto error_cleanup_array;
>  			}
>  			/* Get the generic and specific name elements */
> @@ -360,6 +362,8 @@ int build_channel_array(const char *device_dir,
>  						     &current->generic_name);
>  			if (ret) {
>  				free(filename);
> +				free(current->name);
> +				count--;
>  				goto error_cleanup_array;
>  			}
>  			ret = asprintf(&filename,
> 

--
To unsubscribe from this list: send the line "unsubscribe linux-iio" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html




[Index of Archives]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Input]     [Linux Kernel]     [Linux SCSI]     [X.org]

  Powered by Linux