Fix dbmjz lookup. Bug 2884
[exim.git] / src / src / lookups / dbmdb.c
index edc49e581dd61a9ba7676a25a9838fd4ab0f4b3f..32514afcc3ef0719fa1e56730a45c563473f6f65 100644 (file)
@@ -94,8 +94,10 @@ EXIM_DATUM key, data;
 
 exim_datum_init(&key);               /* Some DBM libraries require datums to */
 exim_datum_init(&data);              /* be cleared before use. */
-exim_datum_data_set(&key, string_copyn(keystring, length));
-exim_datum_size_set(&key, length + 1);
+length++;
+exim_datum_data_set(&key,
+  memcpy(store_get(length, keystring), keystring, length)); /* key can have embedded NUL */
+exim_datum_size_set(&key, length);
 
 if (exim_dbget(d, &key, &data))
   {