|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH for-4.7 4/7] tools/blktap2: Fix use of uninitialised variable in _tap_list_join3()
On Wed, Apr 27, 2016 at 06:01:23PM +0100, Andrew Cooper wrote:
> Clang points out:
>
> tap-ctl-list.c:457:28: error: variable 'entry' is uninitialized when
> used here [-Werror,-Wuninitialized]
> for (; *_entry != NULL; ++entry) {
> ^~~~~
>
> The content of that loop clearly was meant to iterate over _entry rather than
> entry, so is fixed to do so. This presumably fixes a memory leak when
> tapdisks get orphed, as only the first item on the list got freed.
>
> There is no use of entry at all. It is referenced in a
> list_for_each_entry(tl, &tap->list, entry) construct, but this is just a
> member name, and not a reference to local scope variable of the same name.
>
> Signed-off-by: Andrew Cooper <andrew.cooper3@xxxxxxxxxx>
Acked-by: Wei Liu <wei.liu2@xxxxxxxxxx>
> ---
> CC: Ian Jackson <Ian.Jackson@xxxxxxxxxxxxx>
> CC: Wei Liu <wei.liu2@xxxxxxxxxx>
> ---
> tools/blktap2/control/tap-ctl-list.c | 4 ++--
> 1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/tools/blktap2/control/tap-ctl-list.c
> b/tools/blktap2/control/tap-ctl-list.c
> index c91f6f4..f8d49c3 100644
> --- a/tools/blktap2/control/tap-ctl-list.c
> +++ b/tools/blktap2/control/tap-ctl-list.c
> @@ -400,7 +400,7 @@ int
> _tap_list_join3(int n_minors, int *minorv, int n_taps, struct tapdisk *tapv,
> tap_list_t ***_list)
> {
> - tap_list_t **list, **_entry, *entry;
> + tap_list_t **list, **_entry;
> int i, _m, err;
>
> list = tap_ctl_alloc_list(n_minors + n_taps);
> @@ -454,7 +454,7 @@ _tap_list_join3(int n_minors, int *minorv, int n_taps,
> struct tapdisk *tapv,
> }
>
> /* free extraneous list entries */
> - for (; *_entry != NULL; ++entry) {
> + for (; *_entry != NULL; ++_entry) {
> free_list(*_entry);
> *_entry = NULL;
> }
> --
> 2.1.4
>
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
http://lists.xen.org/xen-devel
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |