mirror of
https://github.com/xen-project/xen.git
synced 2026-10-28 02:01:24 +01:00
tools/blktap2: Fix use of uninitialised variable in _tap_list_join3()
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@citrix.com>
Acked-by: Wei Liu <wei.liu2@citrix.com>
Release-acked-by: Wei Liu <wei.liu2@citrix.com>
Reviewed-by: Doug Goldstein <cardoe@cardoe.com>
This commit is contained in:
1 parent
05fc4ef8ae
commit
ca4c1848f1
1 file changed
+2
-2
@@ -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;
|
||||
}
|
||||
|
||||