Tweak ITS#7615 fix: Obey strict-aliasing rules.
authorHallvard Furuseth <hallvard@openldap.org>
Wed, 14 Aug 2013 13:21:59 +0000 (15:21 +0200)
committerHallvard Furuseth <hallvard@openldap.org>
Wed, 14 Aug 2013 13:21:59 +0000 (15:21 +0200)
Do not access a long long as an array of longs.

libraries/liblmdb/mdb.c

index ee7f771..34b726c 100644 (file)
@@ -3607,10 +3607,9 @@ static void
 mdb_hash_enc(MDB_val *val, char *encbuf)
 {
        mdb_hash_t h = mdb_hash_val(val, MDB_HASH_INIT);
-       unsigned long *l = (unsigned long *)&h;
 
-       mdb_pack85(l[0], encbuf);
-       mdb_pack85(l[1], encbuf+5);
+       mdb_pack85(h, encbuf);
+       mdb_pack85(h>>32, encbuf+5);
        encbuf[10] = '\0';
 }
 #endif