mirror of
https://github.com/samba-team/samba.git
synced 2025-01-25 06:04:04 +03:00
lib/dbwrap: reset deleted record to tdb_null
This allows the calling the following sequence of dbwrap functions: dbwrap_delete_record(rec); data = dbwrap_record_get_value(rec); without triggering the assert rec->value_valid inside dbwrap_record_get_value(). Note that dbwrap_record_storev() continues to invalidate the record, so this change somewhat blurs our semantics. BUG: https://bugzilla.samba.org/show_bug.cgi?id=14882 Signed-off-by: Ralph Boehme <slow@samba.org> Reviewed-by: Volker Lendecke <vl@samba.org> Autobuild-User(master): Jeremy Allison <jra@samba.org> Autobuild-Date(master): Thu Nov 4 19:49:47 UTC 2021 on sn-devel-184
This commit is contained in:
parent
1fa006f1f7
commit
8082e2eb7e
@ -110,16 +110,13 @@ NTSTATUS dbwrap_record_delete(struct db_record *rec)
|
|||||||
{
|
{
|
||||||
NTSTATUS status;
|
NTSTATUS status;
|
||||||
|
|
||||||
/*
|
|
||||||
* Invalidate before rec->delete_rec() is called, give
|
|
||||||
* rec->delete_rec() the chance to re-validate rec->value.
|
|
||||||
*/
|
|
||||||
rec->value_valid = false;
|
|
||||||
|
|
||||||
status = rec->delete_rec(rec);
|
status = rec->delete_rec(rec);
|
||||||
if (!NT_STATUS_IS_OK(status)) {
|
if (!NT_STATUS_IS_OK(status)) {
|
||||||
return status;
|
return status;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
rec->value = tdb_null;
|
||||||
|
|
||||||
return NT_STATUS_OK;
|
return NT_STATUS_OK;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1 +0,0 @@
|
|||||||
^samba3.blackbox.smbXsrv_client_dead_rec.check_panic\(fileserver:local\)
|
|
Loading…
x
Reference in New Issue
Block a user