Add missing initialisation of DB4 cursor for skshash when deleting key
[onak.git] / keydb_db4.c
index eb41f86652fea31ba0ab3384cecb97883e447bc9..065fb5b690364099d3f06c90e6a41a4c1742cf62 100644 (file)
@@ -2,6 +2,19 @@
  * keydb_db4.c - Routines to store and fetch keys in a DB4 database.
  *
  * Copyright 2002-2008 Jonathan McDowell <noodles@earth.li>
+ *
+ * This program is free software: you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License as published by the Free
+ * Software Foundation; version 2 of the License.
+ *
+ * This program is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
+ * more details.
+ *
+ * You should have received a copy of the GNU General Public License along with
+ * this program; if not, write to the Free Software Foundation, Inc., 51
+ * Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
  */
 
 #include <sys/types.h>
@@ -296,7 +309,7 @@ static void db4_initdb(bool readonly)
        FILE      *numdb = NULL;
        int        ret = 0;
        int        i = 0;
-       u_int32_t  flags = 0;
+       uint32_t   flags = 0;
        struct stat statbuf;
        int        maxlocks;
 
@@ -1000,6 +1013,10 @@ static int db4_delete_key(uint64_t keyid, bool intrans)
        }
 
        if (!deadlock) {
+               ret = skshashdb->cursor(skshashdb,
+                       txn,
+                       &cursor,
+                       0);   /* flags */
                get_skshash(publickey, &hash);
 
                memset(&key, 0, sizeof(key));