g10: Check for a new binding a bit later.
authorNeal H. Walfield <neal@g10code.com>
Wed, 7 Sep 2016 08:53:28 +0000 (10:53 +0200)
committerNeal H. Walfield <neal@g10code.com>
Wed, 7 Sep 2016 08:53:28 +0000 (10:53 +0200)
* g10/tofu.c (build_conflict_set): Check for the current key after
looking for conflicts and removing any '!'.

--
Signed-off-by: Neal H. Walfield <neal@g10code.com>
Fixes-commit: 1f1f56e6

g10/tofu.c

index 2976c6b..5b20269 100644 (file)
@@ -1769,15 +1769,6 @@ build_conflict_set (tofu_dbs_t dbs, const char *fingerprint, const char *email)
       return NULL;
     }
 
-  /* If the current binding has not yet been recorded, add it to the
-   * list.  (The order by above ensures that if it is present, it will
-   * be first.)  */
-  if (! (conflict_set && strcmp (conflict_set->d, fingerprint) == 0))
-    {
-      add_to_strlist (&conflict_set, fingerprint);
-      conflict_set->flags |= BINDING_NEW;
-    }
-
   /* Set BINDING_CONFLICT if the binding has a known conflict.  This
    * allows us to distinguish between bindings where the user
    * explicitly set the policy to ask and bindings where we set the
@@ -1801,6 +1792,15 @@ build_conflict_set (tofu_dbs_t dbs, const char *fingerprint, const char *email)
         }
     }
 
+  /* If the current binding has not yet been recorded, add it to the
+   * list.  (The order by above ensures that if it is present, it will
+   * be first.)  */
+  if (! (conflict_set && strcmp (conflict_set->d, fingerprint) == 0))
+    {
+      add_to_strlist (&conflict_set, fingerprint);
+      conflict_set->flags |= BINDING_NEW;
+    }
+
   conflict_set_count = strlist_length (conflict_set);
 
   /* Eliminate false conflicts.  */