From 1fdd873c7ad4a081382f21cc7a2e4e7317e4e7ef Mon Sep 17 00:00:00 2001 From: Jones Syue Date: Wed, 11 Jan 2023 16:59:42 +0800 Subject: [PATCH] s3:smbstatus: go to cmdline_messaging_context_free If the locking.tdb is not found, (for example, fresh new installed samba server is not running yet) smbstatus utility would exit earlier, and lock files are left behind in the directory 'msg.sock' and 'msg.lock'. Consider that a script to run smbstatus utility in a loop, this might result in used space slowly growing-up on the underlying filesystem. Since the samba server is not running yet, there is no cleanupd daemon could delete these files to reclaim space. Supposed to use 'ret = 0; goto done;' instead of exit(0), this would go through the cmdline_messaging_context_free() which deletes the lock files in the directory msg.sock and msg.lock before smbstatus utility is exiting. BUG: https://bugzilla.samba.org/show_bug.cgi?id=15282 Signed-off-by: Jones Syue Reviewed-by: Ralph Boehme Reviewed-by: Volker Lendecke Autobuild-User(master): Volker Lendecke Autobuild-Date(master): Wed Jan 11 17:08:10 UTC 2023 on sn-devel-184 (cherry picked from commit de5d31f452b2445bd92b1746efb05aa096716af8) --- source3/utils/status.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/source3/utils/status.c b/source3/utils/status.c index e311f067c9c..7a8fc75f345 100644 --- a/source3/utils/status.c +++ b/source3/utils/status.c @@ -1163,7 +1163,8 @@ int main(int argc, const char *argv[]) fprintf(stderr, "This is normal if an SMB client has never " "connected to your server.\n"); TALLOC_FREE(db_path); - exit(0); + ret = 0; + goto done; } else { TALLOC_FREE(db); TALLOC_FREE(db_path); -- 2.34.1