tdb: Fix a "increases alignment" warning
authorVolker Lendecke <vl@samba.org>
Sun, 4 Mar 2018 10:51:13 +0000 (11:51 +0100)
committerJeremy Allison <jra@samba.org>
Thu, 22 Mar 2018 06:21:44 +0000 (07:21 +0100)
Many of those warnings are difficult to fix, but this one was easy :-)

Signed-off-by: Volker Lendecke <vl@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>
Autobuild-User(master): Jeremy Allison <jra@samba.org>
Autobuild-Date(master): Thu Mar 22 07:21:44 CET 2018 on sn-devel-144

lib/tdb/common/transaction.c

index 390e51dfa2a2eb7c5bab509845062fc8de408459..73d02b684a3ef20d7179cfc0075fd02bb44c2517 100644 (file)
@@ -854,13 +854,12 @@ static int transaction_setup_recovery(struct tdb_context *tdb,
                return -1;
        }
 
-       data = (unsigned char *)malloc(recovery_size + sizeof(*rec));
-       if (data == NULL) {
+       rec = malloc(recovery_size + sizeof(*rec));
+       if (rec == NULL) {
                tdb->ecode = TDB_ERR_OOM;
                return -1;
        }
 
-       rec = (struct tdb_record *)data;
        memset(rec, 0, sizeof(*rec));
 
        rec->magic    = TDB_RECOVERY_INVALID_MAGIC;
@@ -869,6 +868,8 @@ static int transaction_setup_recovery(struct tdb_context *tdb,
        rec->key_len  = old_map_size;
        CONVERT(*rec);
 
+       data = (unsigned char *)rec;
+
        /* build the recovery data into a single blob to allow us to do a single
           large write, which should be more efficient */
        p = data + sizeof(*rec);