]> git.sur5r.net Git - openldap/commitdiff
Fix bdb_db_hash() to handle padding bits in integers.
authorHallvard Furuseth <hallvard@openldap.org>
Thu, 5 Jun 2003 11:55:27 +0000 (11:55 +0000)
committerHallvard Furuseth <hallvard@openldap.org>
Thu, 5 Jun 2003 11:55:27 +0000 (11:55 +0000)
servers/slapd/back-bdb/dbcache.c

index 7c99c19196c6968602eb03d940cc2fce85cfa8f7..88647373e95ece3c17486a22b90312ad5573d791 100644 (file)
@@ -29,17 +29,13 @@ bdb_db_hash(
        u_int32_t length
 )
 {
-       u_int32_t ret = 0;
-       unsigned char *dst = (unsigned char *)&ret;
-       const unsigned char *src = (const unsigned char *)bytes;
+       u_int32_t i, ret = 0;
 
        if ( length > sizeof(u_int32_t) )
                length = sizeof(u_int32_t);
 
-       while ( length ) {
-               *dst++ = *src++;
-               length--;
-       }
+       for( i = 0; i < length; i++ )
+               ret = (ret << 8) + ((const unsigned char *)bytes)[i];
        return ret;
 }