From: Volker Lendecke Date: Fri, 29 Nov 2019 20:30:39 +0000 (+0100) Subject: smbd: Avoid leaking share_entries.tdb records X-Git-Tag: ldb-2.1.0~481 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=8d8d2bdfa4f988bf5fdc9e05f7f3d1b4b6c54d0d;p=thirdparty%2Fsamba.git smbd: Avoid leaking share_entries.tdb records Signed-off-by: Volker Lendecke Reviewed-by: Jeremy Allison --- diff --git a/source3/locking/share_mode_lock.c b/source3/locking/share_mode_lock.c index defa538b452..062a2196efe 100644 --- a/source3/locking/share_mode_lock.c +++ b/source3/locking/share_mode_lock.c @@ -1923,6 +1923,15 @@ static void share_mode_entry_do_fn( state->num_share_modes -= 1; } + if (state->num_share_modes == 0) { + state->status = dbwrap_record_delete(rec); + if (!NT_STATUS_IS_OK(state->status)) { + DBG_DEBUG("dbwrap_record_delete failed: %s\n", + nt_errstr(state->status)); + } + return; + } + state->status = dbwrap_record_storev(rec, dbufs, num_dbufs, 0); if (!NT_STATUS_IS_OK(state->status)) { DBG_DEBUG("dbwrap_record_storev failed: %s\n",