Fix segfault with non existant short key id & keydb_fs.
[onak.git] / keydb_fs.c
index 01101f0eaeca4683a077e71fbc7ed45c651ce8ca..9575785839018e75293448d57b8b16fe28992658 100644 (file)
@@ -448,14 +448,16 @@ uint64_t getfullkeyid(uint64_t keyid)
        keydir(buffer, keyid);
 
        d = opendir(buffer);
-       do {
-               de = readdir(d);
-               if (de)
-                       if (de && de->d_name[0] != '.') {
-                               ret = strtoull(de->d_name, NULL, 16);
-                       }
-       } while (de && de->d_name[0] == '.');
-       closedir(d);
+       if (d) {
+               do {
+                       de = readdir(d);
+                       if (de)
+                               if (de && de->d_name[0] != '.') {
+                                       ret = strtoull(de->d_name, NULL, 16);
+                               }
+               } while (de && de->d_name[0] == '.');
+               closedir(d);
+       }
        return ret;
 }