pdb_tdb: Avoid a nasty error message with ctdb
authorVolker Lendecke <vl@samba.org>
Tue, 11 Nov 2014 10:36:23 +0000 (10:36 +0000)
committerStefan Metzmacher <metze@samba.org>
Thu, 18 Dec 2014 09:46:12 +0000 (10:46 +0100)
ctdb gives us 0-sized records for deleted passdb entries

Signed-off-by: Volker Lendecke <vl@samba.org>
Reviewed-by: David Disseldorp <ddiss@samba.org>
Autobuild-User(master): David Disseldorp <ddiss@samba.org>
Autobuild-Date(master): Tue Nov 11 16:19:37 CET 2014 on sn-devel-104

(cherry picked from commit c2bda5bfae2cac4e473f2ae42775d2e35995c790)

source3/passdb/pdb_tdb.c

index ba1f1d4033f946613f1202a1d39cc3c10442fe87..d1ff006f797f9f0dd7ad8d34583b3bacc6b1ec16 100644 (file)
@@ -602,6 +602,12 @@ static NTSTATUS tdbsam_getsampwnam (struct pdb_methods *my_methods,
                return NT_STATUS_NO_SUCH_USER;
        }
 
+       if (data.dsize == 0) {
+               DEBUG(5, ("%s: Got 0-sized record for key %s\n", __func__,
+                         keystr));
+               return NT_STATUS_NO_SUCH_USER;
+       }
+
        /* unpack the buffer */
 
        if (!init_samu_from_buffer(user, SAMU_BUFFER_LATEST, data.dptr, data.dsize)) {