util: Fixes memory leak in __getProgramName
authorYonggang Luo <luoyonggang@gmail.com>
Fri, 2 Sep 2022 04:36:51 +0000 (12:36 +0800)
committerMarge Bot <emma+marge@anholt.net>
Sat, 5 Nov 2022 20:40:55 +0000 (20:40 +0000)
commit2c1c87f76f8ddc8f11c020e3da3db4bc9e2fd099
tree5c96cb5d42b229fe06584ac1c898a632c72e1af8
parent171c3c551a5aea02871d322493361d66c4d9815d
util: Fixes memory leak in __getProgramName

This is happened when multi-threading access to util_get_process_name

memory leak point:
Direct leak of 4097 byte(s) in 1 object(s) allocated from:
    #0 0x7f42888c0e8f in __interceptor_malloc ../../../../src/libsanitizer/asan/asan_malloc_linux.cpp:145
    #1 0x7f4288859d18 in __interceptor_realpath ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:3608
    #2 0x55a9c272e03d in __getProgramName ../src/util/u_process.c:75
    #3 0x55a9c272e03d in util_get_process_name ../src/util/u_process.c:197
    #4 0x55a9c2746da7 in util_queue_init ../src/util/u_queue.c:416
    #5 0x55a9c272c233 in queue_init ../src/util/perf/u_trace.c:403
    #6 0x55a9c272c233 in u_trace_context_init ../src/util/perf/u_trace.c:453
    #7 0x55a9c262eb54 in test_thread ../src/util/tests/perf/u_trace_test.cpp:14
    #8 0x55a9c275228b in impl_thrd_routine ../src/c11/impl/threads_posix.c:67

Signed-off-by: Yonggang Luo <luoyonggang@gmail.com>
Acked-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18764>
src/util/u_process.c