asprintf(&valstr, CACHE_DATA_FMT, (int)timeout, value);
keybuf.dptr = strdup(keystr);
- keybuf.dsize = strlen(keystr);
+ keybuf.dsize = strlen(keystr)+1;
databuf.dptr = strdup(valstr);
- databuf.dsize = strlen(valstr);
+ databuf.dsize = strlen(valstr)+1;
DEBUG(10, ("Adding cache entry with key = %s; value = %s and timeout \
= %s (%d seconds %s)\n", keybuf.dptr, value, ctime(&timeout),
(int)(timeout - time(NULL)), timeout > time(NULL) ? "ahead" : "in the past"));
asprintf(&datastr, CACHE_DATA_FMT, (int)timeout, valstr);
keybuf.dptr = strdup(keystr);
- keybuf.dsize = strlen(keystr);
+ keybuf.dsize = strlen(keystr)+1;
databuf.dptr = strdup(datastr);
- databuf.dsize = strlen(datastr);
+ databuf.dsize = strlen(datastr)+1;
DEBUGADD(10, ("New value = %s, new timeout = %s (%d seconds %s)", valstr,
ctime(&timeout), (int)(timeout - time(NULL)),
timeout > time(NULL) ? "ahead" : "in the past"));
if (!gencache_init()) return False;
keybuf.dptr = strdup(keystr);
- keybuf.dsize = strlen(keystr);
+ keybuf.dsize = strlen(keystr)+1;
DEBUG(10, ("Deleting cache entry (key = %s)\n", keystr));
ret = tdb_delete(cache, keybuf);
return False;
keybuf.dptr = strdup(keystr);
- keybuf.dsize = strlen(keystr);
+ keybuf.dsize = strlen(keystr)+1;
databuf = tdb_fetch(cache, keybuf);
if (databuf.dptr && databuf.dsize > TIMEOUT_LEN) {