base/dispatch-x86ish.S: Fix build failure from incompetent cherry-pick.
[catacomb] / key / key-misc.c
index 80e9597..0d969a8 100644 (file)
@@ -42,7 +42,7 @@
 /*----- Useful macros -----------------------------------------------------*/
 
 #define KEY_WRITE(f) do {                                              \
-     if (!(f)->f & KF_WRITE)                                           \
+     if (!((f)->f & KF_WRITE))                                         \
        return (KERR_READONLY);                                         \
    } while (0)
 
@@ -160,12 +160,12 @@ key *key_bytag(key_file *f, const char *tag)
   char *p;
   uint32 id;
   key_ref *kr = sym_find(&f->bytag, tag, -1, 0, 0);
+  key *k;
 
   if (kr && !(KEY_EXPIRED(t, kr->k->exp) && KEY_EXPIRED(t, kr->k->del)))
     return (kr->k);
   id = strtoul(tag, &p, 16);
-  if (!*p)
-    return (key_byid(f, id));
+  if (!*p && (k = key_byid(f, id)) != 0) return (k);
   return (key_bytype(f, tag));
 }