Hello Andre, On Mon, Jul 21, 2025 at 10:39 PM Andre Muezerie <andre...@linux.microsoft.com> wrote: > diff --git a/app/test/test_strsep.c b/app/test/test_strsep.c > new file mode 100644 > index 0000000000..19df8f31ee > --- /dev/null > +++ b/app/test/test_strsep.c > @@ -0,0 +1,108 @@ > +/* SPDX-License-Identifier: BSD-3-Clause > + * Copyright (C) 2025 Microsoft Corporation > + */ > + > +#include <string.h> > +#include <rte_os_shim.h> > + > +#include "test.h" > + > +static int > +test_strsep_helper(const char *str, const char *delim, > + const char * const expected_tokens[], size_t > expected_tokens_count) > +{ > + char *s = str != NULL ? strdup(str) : NULL; > + const char *token; > + for (size_t i = 0; i < expected_tokens_count; i++) { > + token = strsep(&s, delim);
The reference to the dupped string gets lost, since calling strsep updates s. Caught by ASan: ==49990==ERROR: LeakSanitizer: detected memory leaks Direct leak of 51 byte(s) in 4 object(s) allocated from: #0 0x5632dd8cbe83 in strdup (/home/runner/work/dpdk/dpdk/build/app/dpdk-test+0x271e83) (BuildId: 01a7571ab7814bc83923733b3dae34d28e6ff3e1) #1 0x5632de39bad2 in test_strsep_helper /home/runner/work/dpdk/dpdk/build/../app/test/test_strsep.c:14:26 #2 0x5632dd91d86f in unit_test_suite_runner /home/runner/work/dpdk/dpdk/build/../app/test/test.c:364:20 #3 0x5632dd91c2b0 in cmd_autotest_parsed /home/runner/work/dpdk/dpdk/build/../app/test/commands.c:68:10 #4 0x7fba8b3bfc58 in __cmdline_parse /home/runner/work/dpdk/dpdk/build/../lib/cmdline/cmdline_parse.c:296:3 #5 0x7fba8b3bfc58 in cmdline_parse /home/runner/work/dpdk/dpdk/build/../lib/cmdline/cmdline_parse.c:305:9 #6 0x7fba8b3bcbf7 in cmdline_valid_buffer /home/runner/work/dpdk/dpdk/build/../lib/cmdline/cmdline.c:25:8 #7 0x7fba8b3c50ec in rdline_char_in /home/runner/work/dpdk/dpdk/build/../lib/cmdline/cmdline_rdline.c:456:5 #8 0x7fba8b3bcfde in cmdline_in /home/runner/work/dpdk/dpdk/build/../lib/cmdline/cmdline.c:154:9 #9 0x5632dd91d2ba in main /home/runner/work/dpdk/dpdk/build/../app/test/test.c:231:15 #10 0x7fba89a29d8f in __libc_start_call_main csu/../sysdeps/nptl/libc_start_call_main.h:58:16 SUMMARY: AddressSanitizer: 51 byte(s) leaked in 4 allocation(s). ------------------------------------------------------------------------------ -- David Marchand