registry: Properly check return values from ldb_*() functions.
authorAndrew Kroeger <andrew@sprocks.gotdns.com>
Fri, 18 Jan 2008 00:48:48 +0000 (01:48 +0100)
committerJelmer Vernooij <jelmer@samba.org>
Fri, 18 Jan 2008 02:41:59 +0000 (03:41 +0100)
There were a few cases left that attempted to detect errors from ldb_*()
function calls using "(ret < 0)".  As all LDB_* error codes are greater than
zero, there was no chance any errors would be detected.  Changed all such tests
to use "(ret != LDB_SUCCESS)".

source/lib/registry/ldb.c

index d56b63299d944e1f18460a5a56b5110c0aec51c0..d87bc6cf8e214c27121c89980b62ce995ecd9439 100644 (file)
@@ -400,7 +400,7 @@ static WERROR ldb_add_key(TALLOC_CTX *mem_ctx, const struct hive_key *parent,
                                   talloc_strdup(mem_ctx, classname));
 
        ret = ldb_add(parentkd->ldb, msg);
-       if (ret < 0) {
+       if (ret != LDB_SUCCESS) {
                DEBUG(1, ("ldb_msg_add: %s\n", ldb_errstring(parentkd->ldb)));
                return WERR_FOOBAR;
        }
@@ -432,7 +432,7 @@ static WERROR ldb_del_key(const struct hive_key *key, const char *child)
 
        if (ret == LDB_ERR_NO_SUCH_OBJECT) {
                return WERR_NOT_FOUND;
-       } else if (ret < 0) {
+       } else if (ret != LDB_SUCCESS) {
                DEBUG(1, ("ldb_del_key: %s\n", ldb_errstring(parentkd->ldb)));
                return WERR_FOOBAR;
        }
@@ -455,7 +455,7 @@ static WERROR ldb_del_value (struct hive_key *key, const char *child)
 
        if (ret == LDB_ERR_NO_SUCH_OBJECT) {
                return WERR_NOT_FOUND;
-       } else if (ret < 0) {
+       } else if (ret != LDB_SUCCESS) {
                DEBUG(1, ("ldb_del_value: %s\n", ldb_errstring(kd->ldb)));
                return WERR_FOOBAR;
        }