]> git.ipfire.org Git - thirdparty/samba.git/commitdiff
net/serverid: initialize state->open_db
authorRalph Boehme <slow@samba.org>
Mon, 24 Nov 2025 07:25:16 +0000 (08:25 +0100)
committerVolker Lendecke <vl@samba.org>
Thu, 27 Nov 2025 09:01:29 +0000 (09:01 +0000)
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 <wipedbs_traverse_replay_records>, 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 <wipedbs_traverse_replay_records>, private_data=0x362d70)
      at ../../lib/dbwrap/dbwrap_rbt.c:499
  #4  0x00007ffff70a7433 in dbwrap_traverse_read (db=0x37e940, f=0x2dc749 <wipedbs_traverse_replay_records>, 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 <net_func>)
      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 <slow@samba.org>
Reviewed-by: Volker Lendecke <vl@samba.org>
source3/utils/net_serverid.c

index 07d784f310f811db44374da249ac49635c07c98d..115147586eda273f465314d49a8d4cf867436167 100644 (file)
@@ -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;
 }