s3: Avoid a potential alignment requirement issue
authorVolker Lendecke <vl@samba.org>
Fri, 6 Jan 2012 15:42:08 +0000 (16:42 +0100)
committerVolker Lendecke <vlendec@samba.org>
Fri, 6 Jan 2012 17:58:11 +0000 (18:58 +0100)
Autobuild-User: Volker Lendecke <vlendec@samba.org>
Autobuild-Date: Fri Jan  6 18:58:11 CET 2012 on sn-devel-104

source3/torture/torture.c

index 8bc9cefeef9e317d0506104fc8ee0d089a3eca1b..3b023e732944f7f9f988c96b0773f81e694c0acd 100644 (file)
@@ -8515,7 +8515,7 @@ fail:
 static bool dbtrans_inc(struct db_context *db)
 {
        struct db_record *rec;
-       uint32_t *val;
+       uint32_t val;
        bool ret = false;
        NTSTATUS status;
        TDB_DATA value;
@@ -8534,12 +8534,11 @@ static bool dbtrans_inc(struct db_context *db)
                goto fail;
        }
 
-       val = (uint32_t *)value.dptr;
-       *val += 1;
+       memcpy(&val, value.dptr, sizeof(val));
+       val += 1;
 
-       status = dbwrap_record_store(rec, make_tdb_data((uint8_t *)val,
-                                              sizeof(uint32_t)),
-                           0);
+       status = dbwrap_record_store(
+               rec, make_tdb_data((uint8_t *)&val, sizeof(val)), 0);
        if (!NT_STATUS_IS_OK(status)) {
                printf(__location__ "store failed: %s\n",
                       nt_errstr(status));