Bugfix: don't look in internal table for signature if found in application
[openssl.git] / crypto / objects / obj_xref.c
index f74533c3ec2dea0a154053c97f70c06559663b10..963177ca5918f9bf1f2ff21d11dae81b0bfb6add 100644 (file)
@@ -127,11 +127,14 @@ int OBJ_find_sigid_by_algs(int *psignid, int dig_nid, int pkey_nid)
                }
 
 #ifndef OBJ_XREF_TEST2
-       rv = (nid_triple **)OBJ_bsearch((char *)&t,
+       if (rv == NULL)
+               {
+               rv = (nid_triple **)OBJ_bsearch((char *)&t,
                                (char *)sigoid_srt_xref,
                                sizeof(sigoid_srt_xref) / sizeof(nid_triple *),
                                sizeof(nid_triple *),
                                (int (*)(const void *, const void *))cmp_sigx);
+               }
 #endif
        if (rv == NULL)
                return 0;