Skip to content

Commit

Permalink
src/main: fix leaking if r_nbd_run_server() fails
Browse files Browse the repository at this point in the history
This fixes an error leaking if error happen in r_nbd_run_server().

Fixes:

	==7101==ERROR: LeakSanitizer: detected memory leaks

	Direct leak of 16 byte(s) in 1 object(s) allocated from:
	    #0 0x7fb183cd0891 in malloc /usr/src/debug/gcc/gcc/libsanitizer/asan/asan_malloc_linux.cpp:69
	    #1 0x7fb18379314a in g_malloc (/usr/lib/libglib-2.0.so.0+0x6314a) (BuildId: 443a4c4d7f48705038d59e3f6135a025298de9b9)
	    #2 0x7fb1837b2475 in g_slice_alloc0 (/usr/lib/libglib-2.0.so.0+0x82475) (BuildId: 443a4c4d7f48705038d59e3f6135a025298de9b9)
	    #3 0x7fb1837740a4  (/usr/lib/libglib-2.0.so.0+0x440a4) (BuildId: 443a4c4d7f48705038d59e3f6135a025298de9b9)
	    rauc#4 0x7fb183774835 in g_error_new_valist (/usr/lib/libglib-2.0.so.0+0x44835) (BuildId: 443a4c4d7f48705038d59e3f6135a025298de9b9)
	    rauc#5 0x7fb183774a81 in g_set_error (/usr/lib/libglib-2.0.so.0+0x44a81) (BuildId: 443a4c4d7f48705038d59e3f6135a025298de9b9)
	    rauc#6 0x55c569403615 in r_nbd_run_server ../src/nbd.c:943
	    rauc#7 0x55c569327de4 in main ../src/main.c:2984
	    rauc#8 0x7fb182a0ce07  (/usr/lib/libc.so.6+0x25e07) (BuildId: 98b3d8e0b8c534c769cb871c438b4f8f3a8e4bf3)
	    rauc#9 0x7fb182a0cecb in __libc_start_main (/usr/lib/libc.so.6+0x25ecb) (BuildId: 98b3d8e0b8c534c769cb871c438b4f8f3a8e4bf3)
	    rauc#10 0x55c5692eed14 in _start (/home/gportay/src/rauc/build/rauc+0x17ad14) (BuildId: fce67367819006bb3a0f97f5d3784a86063668bf)

	Indirect leak of 37 byte(s) in 1 object(s) allocated from:
	    #0 0x7fb183cd0891 in malloc /usr/src/debug/gcc/gcc/libsanitizer/asan/asan_malloc_linux.cpp:69
	    #1 0x7fb182a6f438  (/usr/lib/libc.so.6+0x88438) (BuildId: 98b3d8e0b8c534c769cb871c438b4f8f3a8e4bf3)
	    #2 0x7fb1837e5143 in g_vasprintf (/usr/lib/libglib-2.0.so.0+0xb5143) (BuildId: 443a4c4d7f48705038d59e3f6135a025298de9b9)
	    #3 0x7fb1837b44d3 in g_strdup_vprintf (/usr/lib/libglib-2.0.so.0+0x844d3) (BuildId: 443a4c4d7f48705038d59e3f6135a025298de9b9)
	    rauc#4 0x7fb183774826 in g_error_new_valist (/usr/lib/libglib-2.0.so.0+0x44826) (BuildId: 443a4c4d7f48705038d59e3f6135a025298de9b9)
	    rauc#5 0x7fb183774a81 in g_set_error (/usr/lib/libglib-2.0.so.0+0x44a81) (BuildId: 443a4c4d7f48705038d59e3f6135a025298de9b9)
	    rauc#6 0x55c569403615 in r_nbd_run_server ../src/nbd.c:943
	    rauc#7 0x55c569327de4 in main ../src/main.c:2984
	    rauc#8 0x7fb182a0ce07  (/usr/lib/libc.so.6+0x25e07) (BuildId: 98b3d8e0b8c534c769cb871c438b4f8f3a8e4bf3)
	    rauc#9 0x7fb182a0cecb in __libc_start_main (/usr/lib/libc.so.6+0x25ecb) (BuildId: 98b3d8e0b8c534c769cb871c438b4f8f3a8e4bf3)
	    rauc#10 0x55c5692eed14 in _start (/home/gportay/src/rauc/build/rauc+0x17ad14) (BuildId: fce67367819006bb3a0f97f5d3784a86063668bf)

	SUMMARY: AddressSanitizer: 53 byte(s) leaked in 2 allocation(s).

Signed-off-by: Gaël PORTAY <[email protected]>
  • Loading branch information
gportay committed Jan 23, 2025
1 parent dedf1a0 commit ee1a1ec
Showing 1 changed file with 1 addition and 1 deletion.
2 changes: 1 addition & 1 deletion src/main.c
Original file line number Diff line number Diff line change
Expand Up @@ -2979,7 +2979,7 @@ int main(int argc, char **argv)
utf8_supported = TRUE;

if (ENABLE_STREAMING && g_getenv("RAUC_NBD_SERVER")) {
GError *ierror = NULL;
g_autoptr(GError) ierror = NULL;
pthread_setname_np(pthread_self(), "rauc-nbd");
if (r_nbd_run_server(RAUC_SOCKET_FD, &ierror)) {
return 0;
Expand Down

0 comments on commit ee1a1ec

Please sign in to comment.