lib/ldb: fix compiler warnings in ldb_tdb.c
authorStefan Metzmacher <metze@samba.org>
Wed, 29 Oct 2014 10:53:06 +0000 (11:53 +0100)
committerJeremy Allison <jra@samba.org>
Fri, 14 Nov 2014 22:27:04 +0000 (23:27 +0100)
Signed-off-by: Stefan Metzmacher <metze@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>
lib/ldb/ldb_tdb/ldb_tdb.c

index d3c83f5d57988176e5ed4b467d3859ef07e94463..bcb8f0fb141b0bba99e7e765d5f08da72e463f2e 100644 (file)
@@ -264,6 +264,7 @@ int ltdb_store(struct ldb_module *module, const struct ldb_message *msg, int flg
        void *data = ldb_module_get_private(module);
        struct ltdb_private *ltdb = talloc_get_type(data, struct ltdb_private);
        TDB_DATA tdb_key, tdb_data;
+       struct ldb_val ldb_data;
        int ret = LDB_SUCCESS;
 
        tdb_key = ltdb_key(module, msg->dn);
@@ -272,12 +273,15 @@ int ltdb_store(struct ldb_module *module, const struct ldb_message *msg, int flg
        }
 
        ret = ldb_pack_data(ldb_module_get_ctx(module),
-                           msg, (struct ldb_val *)&tdb_data);
+                           msg, &ldb_data);
        if (ret == -1) {
                talloc_free(tdb_key.dptr);
                return LDB_ERR_OTHER;
        }
 
+       tdb_data.dptr = ldb_data.data;
+       tdb_data.dsize = ldb_data.length;
+
        ret = tdb_store(ltdb->tdb, tdb_key, tdb_data, flgs);
        if (ret != 0) {
                ret = ltdb_err_map(tdb_error(ltdb->tdb));
@@ -286,7 +290,7 @@ int ltdb_store(struct ldb_module *module, const struct ldb_message *msg, int flg
 
 done:
        talloc_free(tdb_key.dptr);
-       talloc_free(tdb_data.dptr);
+       talloc_free(ldb_data.data);
 
        return ret;
 }
@@ -673,6 +677,7 @@ int ltdb_modify_internal(struct ldb_module *module,
        void *data = ldb_module_get_private(module);
        struct ltdb_private *ltdb = talloc_get_type(data, struct ltdb_private);
        TDB_DATA tdb_key, tdb_data;
+       struct ldb_val ldb_data;
        struct ldb_message *msg2;
        unsigned int i, j, k;
        int ret = LDB_SUCCESS, idx;
@@ -701,7 +706,10 @@ int ltdb_modify_internal(struct ldb_module *module,
                goto done;
        }
 
-       ret = ldb_unpack_data(ldb_module_get_ctx(module), (struct ldb_val *)&tdb_data, msg2);
+       ldb_data.data = tdb_data.dptr;
+       ldb_data.length = tdb_data.dsize;
+
+       ret = ldb_unpack_data(ldb_module_get_ctx(module), &ldb_data, msg2);
        free(tdb_data.dptr);
        if (ret == -1) {
                ret = LDB_ERR_OTHER;