]> git.ozlabs.org Git - ccan/blobdiff - ccan/tdb2/open.c
tdb2: fix arithmetic on void * pointer.
[ccan] / ccan / tdb2 / open.c
index f2d23aed9cc2abe07cf1d1624f266c63ebd1797e..f7d6b3c5f3e5dbe356d9b842fcb1c30c36e93800 100644 (file)
@@ -209,6 +209,7 @@ struct tdb_context *tdb_open(const char *name, int tdb_flags,
        tdb->transaction = NULL;
        tdb->stats = NULL;
        tdb->access = NULL;
+       tdb->last_error = TDB_SUCCESS;
        tdb->file = NULL;
        tdb_hash_init(tdb);
        tdb_io_init(tdb);
@@ -453,7 +454,7 @@ fail_errno:
 #ifdef TDB_TRACE
        close(tdb->tracefd);
 #endif
-       free((char *)tdb->name);
+       free(cast_const(char *, tdb->name));
        if (tdb->file) {
                tdb_unlock_all(tdb);
                if (--tdb->file->refcnt == 0) {
@@ -494,7 +495,7 @@ int tdb_close(struct tdb_context *tdb)
                else
                        tdb_munmap(tdb->file);
        }
-       free((char *)tdb->name);
+       free(cast_const(char *, tdb->name));
        if (tdb->file) {
                struct tdb_file **i;