Browse Source

As gdbm_fetch changes the key I copy it before I try to get data with it.

release0.1.5
Georg Hopp 12 years ago
parent
commit
72d58c58d5
  1. 9
      src/storage/get.c

9
src/storage/get.c

@ -36,10 +36,13 @@ storageGet(
char * _key, size_t nkey,
char ** data, size_t * ndata)
{
datum key = {_key, nkey};
datum value;
char * key = memMalloc(nkey);
datum gdbm_key = {key, nkey};
datum value;
value = gdbm_fetch(this->gdbm, key);
memcpy(key, _key, nkey);
value = gdbm_fetch(this->gdbm, gdbm_key);
MEM_FREE(key);
if (NULL != value.dptr) {
*ndata = value.dsize;

Loading…
Cancel
Save