]> git.ipfire.org Git - thirdparty/samba.git/commitdiff
lib: Fix return of server_id_db_prune_name()
authorVolker Lendecke <vl@samba.org>
Mon, 1 Jul 2019 19:07:55 +0000 (21:07 +0200)
committerNoel Power <npower@samba.org>
Wed, 3 Jul 2019 10:51:32 +0000 (10:51 +0000)
The tdb routines return 0/-1 and return the specific error via
tdb_error(). server_id_db_prune_name() is expected to return an errno,
not 0/-1.

Signed-off-by: Volker Lendecke <vl@samba.org>
Reviewed-by: Noel Power <npower@samba.org>
Autobuild-User(master): Noel Power <npower@samba.org>
Autobuild-Date(master): Wed Jul  3 10:51:32 UTC 2019 on sn-devel-184

lib/util/server_id_db.c

index bb61f316d29352c3682ad0b483f2eacdfa614eae..17b157706b477866226c99108fdb0f818c5f0920 100644 (file)
@@ -184,7 +184,12 @@ int server_id_db_prune_name(struct server_id_db *db, const char *name,
 
        tdb_chainunlock(tdb, key);
 
-       return ret;
+       if (ret == -1) {
+               enum TDB_ERROR err = tdb_error(tdb);
+               return map_unix_error_from_tdb(err);
+       }
+
+       return 0;
 }
 
 int server_id_db_remove(struct server_id_db *db, const char *name)