[PATCH 5/6] Possible uninitialized 'last' variable in usdt_copyin_data()
[email protected] Mon, 30 Mar 2026 21:02:23 -0400
| Newsgroups | dev.linux.lists.dtrace |
|---|---|
| Message-ID | <[email protected]> |
From: Eugene Loh <[email protected]> Some compilers warn: libcommon/usdt_parser.c: In function ‘usdt_copyin_data’: libcommon/usdt_parser.c:191:15: warning: ‘last’ may be used uninitialized in this function [-Wmaybe-uninitialized] last->next = blk; ~~~~~~~~~~~^~~~~ Change the "if" check to make it easier for compilers to recognize that "last" will be initialized (and non-NULL even!). Signed-off-by: Eugene Loh <[email protected]> --- libcommon/usdt_parser.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/libcommon/usdt_parser.c b/libcommon/usdt_parser.c index 864198098..d8cb9b7ba 100644 --- a/libcommon/usdt_parser.c +++ b/libcommon/usdt_parser.c @@ -163,7 +163,7 @@ usdt_destroy_data(usdt_data_t *data) usdt_data_t * usdt_copyin_data(int in, int out, int *ok) { - usdt_data_t *first = NULL, *last; + usdt_data_t *first = NULL, *last = NULL; size_t cnt; *ok = 1; @@ -185,7 +185,7 @@ usdt_copyin_data(int in, int out, int *ok) if ((blk = usdt_copyin_block(in, out, ok)) == NULL) goto err; - if (first == NULL) + if (last == NULL) first = last = blk; else { last->next = blk; -- 2.47.3