Error: BAD_FREE (CWE-763): [#def58] [important] bluez-5.75/tools/isotest.c:1461:5: address: Taking offset from "strchr(filename, 44)". bluez-5.75/tools/isotest.c:1461:5: assign: Assigning: "filename" = "strchr(filename, 44) + 1". bluez-5.75/tools/isotest.c:1536:2: incorrect_free: "free" frees incorrect pointer "filename". 1534| 1535| done: 1536|-> free(filename); 1537| 1538| syslog(LOG_INFO, "Exit"); --- tools/isotest.c | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/tools/isotest.c b/tools/isotest.c index 58293133a304..fc1c26b23c3b 100644 --- a/tools/isotest.c +++ b/tools/isotest.c @@ -1457,8 +1457,11 @@ int main(int argc, char *argv[]) switch (mode) { case SEND: send_mode(filename, argv[optind + i], i, repeat); - if (filename && strchr(filename, ',')) - filename = strchr(filename, ',') + 1; + if (filename && strchr(filename, ',')) { + char *tmp = filename; + filename = strdup(strchr(filename, ',') + 1); + free(tmp); + } break; case RECONNECT: -- 2.44.0