summaryrefslogtreecommitdiff
path: root/source3/lib/gencache.c
diff options
context:
space:
mode:
authorVolker Lendecke <vl@samba.org>2018-10-09 13:17:53 +0200
committerJeremy Allison <jra@samba.org>2018-10-17 19:22:19 +0200
commit6007c444d946ed7eb7572fed02e448c61f86a394 (patch)
tree843c20beabf07a7ce73ddc8d523a1e13a9698196 /source3/lib/gencache.c
parent140a0e053719e1482211d5937c73e6303c2397bd (diff)
downloadsamba-6007c444d946ed7eb7572fed02e448c61f86a394.tar.gz
gencache: Call string_term_tdb_data() only once
Signed-off-by: Volker Lendecke <vl@samba.org> Reviewed-by: Jeremy Allison <jra@samba.org>
Diffstat (limited to 'source3/lib/gencache.c')
-rw-r--r--source3/lib/gencache.c10
1 files changed, 6 insertions, 4 deletions
diff --git a/source3/lib/gencache.c b/source3/lib/gencache.c
index 895c9cc05a7..f18d0426d81 100644
--- a/source3/lib/gencache.c
+++ b/source3/lib/gencache.c
@@ -266,6 +266,7 @@ static int last_stabilize_parser(TDB_DATA key, TDB_DATA data,
bool gencache_set_data_blob(const char *keystr, DATA_BLOB blob,
time_t timeout)
{
+ TDB_DATA key;
int ret;
fstring hdr;
int hdr_len;
@@ -277,8 +278,10 @@ bool gencache_set_data_blob(const char *keystr, DATA_BLOB blob,
return false;
}
- if (tdb_data_cmp(string_term_tdb_data(keystr),
- last_stabilize_key()) == 0) {
+ key = string_term_tdb_data(keystr);
+
+ ret = tdb_data_cmp(key, last_stabilize_key());
+ if (ret == 0) {
DEBUG(10, ("Can't store %s as a key\n", keystr));
return false;
}
@@ -311,8 +314,7 @@ bool gencache_set_data_blob(const char *keystr, DATA_BLOB blob,
(int)(timeout - time(NULL)),
timeout > time(NULL) ? "ahead" : "in the past"));
- ret = tdb_storev(cache_notrans->tdb, string_term_tdb_data(keystr),
- dbufs, 2, 0);
+ ret = tdb_storev(cache_notrans->tdb, key, dbufs, 2, 0);
if (ret != 0) {
return false;
}