From: Ralph Boehme Date: Mon, 24 Nov 2025 07:25:16 +0000 (+0100) Subject: net/serverid: initialize state->open_db X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=7b5e87ba35fe63674fc5da43d8c20a8319007e44;p=thirdparty%2Fsamba.git net/serverid: initialize state->open_db Fixes a crash that happens when smbXsrv_open_global.tdb contains only replay records. #0 0x00007ffff70a718a in dbwrap_exists (db=0x0, key=...) at ../../lib/dbwrap/dbwrap.c:347 #1 0x00000000002dc7f2 in wipedbs_traverse_replay_records (rec=0x7fffffffd180, wipedbs_state=0x362d70) at ../../source3/utils/net_serverid.c:710 #2 0x00007ffff70aa932 in db_rbt_traverse_internal (db=0x37e940, f=0x2dc749 , private_data=0x362d70, count=0x7fffffffd220, rw=false) at ../../lib/dbwrap/dbwrap_rbt.c:472 #3 0x00007ffff70aaa0e in db_rbt_traverse_read (db=0x37e940, f=0x2dc749 , private_data=0x362d70) at ../../lib/dbwrap/dbwrap_rbt.c:499 #4 0x00007ffff70a7433 in dbwrap_traverse_read (db=0x37e940, f=0x2dc749 , private_data=0x362d70, count=0x0) at ../../lib/dbwrap/dbwrap.c:437 #5 0x00000000002dcedf in net_serverid_wipedbs (c=0x34c0d0, argc=0, argv=0x365380) at ../../source3/utils/net_serverid.c:840 #6 0x00000000002c9675 in net_run_function (c=0x34c0d0, argc=1, argv=0x365378, whoami=0x258c96 "net tdb smbXsrv", table=0x7fffffffd360) at ../../source3/utils/net_util.c:451 #7 0x00000000002e6e2c in net_tdb_smbXsrv (c=0x34c0d0, argc=1, argv=0x365378) at ../../source3/utils/net_tdb.c:105 #8 0x00000000002c9675 in net_run_function (c=0x34c0d0, argc=2, argv=0x365370, whoami=0x258d45 "net tdb", table=0x7fffffffd440) at ../../source3/utils/net_util.c:451 #9 0x00000000002e6f04 in net_tdb (c=0x34c0d0, argc=2, argv=0x365370) at ../../source3/utils/net_tdb.c:128 #10 0x00000000002c9675 in net_run_function (c=0x34c0d0, argc=3, argv=0x365368, whoami=0x22ca4b "net", table=0x323640 ) at ../../source3/utils/net_util.c:451 #11 0x0000000000277227 in main (argc=6, argv=0x7fffffffe2a8) at ../../source3/utils/net.c:1481 Signed-off-by: Ralph Boehme Reviewed-by: Volker Lendecke --- diff --git a/source3/utils/net_serverid.c b/source3/utils/net_serverid.c index 07d784f310f..115147586ed 100644 --- a/source3/utils/net_serverid.c +++ b/source3/utils/net_serverid.c @@ -286,6 +286,8 @@ static int wipedbs_traverse_open_replay(struct db_record *db_rec, } ret = 0; + state->open_db = dbwrap_record_get_db(db_rec); + done: return ret; }