Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
test/on_exit: use static variables for on_exit hooks
before this change, we allocate memory chunks using malloc(), but we never free them. and LeakSanitizer points this out ``` Direct leak of 4 byte(s) in 1 object(s) allocated from: #0 0x5588bfe532de in malloc (/home/jenkins-build/build/workspace/ceph-pull-requests/build/bin/unittest_on_exit+0xa52de) (BuildId: 7c7a92bf5719592938c5307214bcd9b080bd847f) #1 0x5588bfe911d7 in func_scope() /home/jenkins-build/build/workspace/ceph-pull-requests/src/test/on_exit.cc:33:22 ceph#2 0x5588bfe90804 in main /home/jenkins-build/build/workspace/ceph-pull-requests/src/test/on_exit.cc:64:3 ceph#3 0x7f23081c1d8f in __libc_start_call_main csu/../sysdeps/nptl/libc_start_call_main.h:58:16 Direct leak of 4 byte(s) in 1 object(s) allocated from: #0 0x5588bfe532de in malloc (/home/jenkins-build/build/workspace/ceph-pull-requests/build/bin/unittest_on_exit+0xa52de) (BuildId: 7c7a92bf5719592938c5307214bcd9b080bd847f) #1 0x5588bfe91160 in func_scope() /home/jenkins-build/build/workspace/ceph-pull-requests/src/test/on_exit.cc:29:22 ceph#2 0x5588bfe90804 in main /home/jenkins-build/build/workspace/ceph-pull-requests/src/test/on_exit.cc:64:3 ceph#3 0x7f23081c1d8f in __libc_start_call_main csu/../sysdeps/nptl/libc_start_call_main.h:58:16 ``` in this change, instead of allocating the variables using `malloc()`, we keep them in static variables, so that they can be accessed by `OnExitManager` even if it is a static variable. with this change, the memory leak reports for this source file go away. Signed-off-by: Kefu Chai <[email protected]>
- Loading branch information