Bugfix: don't look in internal table for signature if found in application
authorDr. Stephen Henson <steve@openssl.org>
Wed, 12 Jul 2006 16:30:40 +0000 (16:30 +0000)
committerDr. Stephen Henson <steve@openssl.org>
Wed, 12 Jul 2006 16:30:40 +0000 (16:30 +0000)
supplied list.

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
                }
 
 #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);
                                (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;
 #endif
        if (rv == NULL)
                return 0;