]> the.earth.li Git - onak.git/blobdiff - keydb_db4.c
Fix memory leak when merging key signatures
[onak.git] / keydb_db4.c
index e63ac077f1ed07ef92a00d6d66527ee03c69c5e1..df07769ee224030291e831f034d1e3e4696e7d55 100644 (file)
@@ -472,12 +472,6 @@ static int db4_fetch_key_id(struct onak_dbctx *dbctx, uint64_t keyid,
        return (numkeys);
 }
 
-
-int worddb_cmp(const void *d1, const void *d2)
-{
-       return memcmp(d1, d2, 12);
-}
-
 /**
  *     fetch_key_text - Trys to find the keys that contain the supplied text.
  *     @search: The text to search for.
@@ -661,7 +655,6 @@ static int db4_delete_key(struct onak_dbctx *dbctx,
        int i;
        char **uids = NULL;
        char *primary = NULL;
-       unsigned char worddb_data[12];
        struct ll *wordlist = NULL;
        struct ll *curword  = NULL;
        bool deadlock = false;
@@ -701,13 +694,6 @@ static int db4_delete_key(struct onak_dbctx *dbctx,
 
                for (curword = wordlist; curword != NULL && !deadlock;
                                curword = curword->next) {
-                       memset(&key, 0, sizeof(key));
-                       memset(&data, 0, sizeof(data));
-                       key.data = curword->object;
-                       key.size = strlen(key.data);
-                       data.data = worddb_data;
-                       data.size = sizeof(worddb_data);
-
                        /*
                         * New style uses the fingerprint as the data
                         * Old (unsupported) style was the 64 bit keyid
@@ -829,7 +815,7 @@ static int db4_delete_key(struct onak_dbctx *dbctx,
                        memset(&key, 0, sizeof(key));
                        key.data = subkeyids[i].fp;
                        key.size = subkeyids[i].length;
-                       privctx->subkeydb->del(privctx->subkeydb,
+                       ret = privctx->subkeydb->del(privctx->subkeydb,
                                        privctx->txn, &key, 0);
                        if (ret != 0 && ret != DB_NOTFOUND) {
                                logthing(LOGTHING_ERROR,