From 765b9259fa75e7cab64de4bcfdd2f49cb63efedb Mon Sep 17 00:00:00 2001 From: =?utf8?q?Cristian=20Rodr=C3=ADguez?= Date: Sat, 17 May 2025 15:07:02 -0400 Subject: [PATCH] Do not call exit() on code ending in shared libraries MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit It is not cool to call atexit() handlers of unknown applications from shared libraries, use _exit instead. Signed-off-by: Cristian Rodríguez --- lib/canonicalize.c | 2 +- libblkid/src/topology/dm.c | 2 +- libblkid/src/topology/lvm.c | 4 ++-- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/lib/canonicalize.c b/lib/canonicalize.c index d181a14e9..0992a4747 100644 --- a/lib/canonicalize.c +++ b/lib/canonicalize.c @@ -192,7 +192,7 @@ char *canonicalize_path_restricted(const char *path) write_all(pipes[1], (char *) &len, sizeof(len)); if (canonical) write_all(pipes[1], canonical, len); - exit(0); + _exit(0); default: break; } diff --git a/libblkid/src/topology/dm.c b/libblkid/src/topology/dm.c index 612b5df33..62fa17945 100644 --- a/libblkid/src/topology/dm.c +++ b/libblkid/src/topology/dm.c @@ -74,7 +74,7 @@ static int probe_dm_tp(blkid_probe pr, dup2(dmpipe[1], STDOUT_FILENO); if (drop_permissions() != 0) - exit(1); + _exit(1); snprintf(maj, sizeof(maj), "%d", major(devno)); snprintf(min, sizeof(min), "%d", minor(devno)); diff --git a/libblkid/src/topology/lvm.c b/libblkid/src/topology/lvm.c index af1a61299..f5c3d484b 100644 --- a/libblkid/src/topology/lvm.c +++ b/libblkid/src/topology/lvm.c @@ -83,7 +83,7 @@ static int probe_lvm_tp(blkid_probe pr, dup2(lvpipe[1], STDOUT_FILENO); if (drop_permissions() != 0) - exit(1); + _exit(1); lvargv[0] = cmd; lvargv[1] = devname; @@ -92,7 +92,7 @@ static int probe_lvm_tp(blkid_probe pr, execv(lvargv[0], lvargv); DBG(LOWPROBE, ul_debug("Failed to execute %s: errno=%d", cmd, errno)); - exit(1); + _exit(1); } case -1: DBG(LOWPROBE, ul_debug("Failed to forking: errno=%d", errno)); -- 2.47.3