From: Volker Lendecke Date: Sun, 4 Mar 2018 10:51:13 +0000 (+0100) Subject: tdb: Fix a "increases alignment" warning X-Git-Tag: talloc-2.1.13~290 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=7964b3640aacaab68f002c290d82f86e7c709268;p=thirdparty%2Fsamba.git tdb: Fix a "increases alignment" warning Many of those warnings are difficult to fix, but this one was easy :-) Signed-off-by: Volker Lendecke Reviewed-by: Jeremy Allison Autobuild-User(master): Jeremy Allison Autobuild-Date(master): Thu Mar 22 07:21:44 CET 2018 on sn-devel-144 --- diff --git a/lib/tdb/common/transaction.c b/lib/tdb/common/transaction.c index 390e51dfa2a..73d02b684a3 100644 --- a/lib/tdb/common/transaction.c +++ b/lib/tdb/common/transaction.c @@ -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);