diff options
author | Pavel Stetsuk <pstetsuk@gmail.com> | 2023-09-14 23:05:49 +0300 |
---|---|---|
committer | Tomas Mraz <tomas@openssl.org> | 2023-10-18 16:40:19 +0200 |
commit | d6304236252a19966424fbb1bf3b20874fab06af (patch) | |
tree | 61bfdefefa67505ee8010cc63681a39b514ad733 /crypto | |
parent | 86f3fae5f8fb4d9cb96ea9b34250cd3abc3038ef (diff) |
fix: LINEAR search doesn't work properly (if CHARSET_EBCDIC is defined)
CLA: trivial
Reviewed-by: Paul Dale <pauli@openssl.org>
Reviewed-by: Matt Caswell <matt@openssl.org>
Reviewed-by: Tomas Mraz <tomas@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/22108)
(cherry picked from commit a47fc4ed401da4e2d84e035cc4add566e85b03d0)
Diffstat (limited to 'crypto')
-rw-r--r-- | crypto/objects/obj_dat.c | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/crypto/objects/obj_dat.c b/crypto/objects/obj_dat.c index 1a52000e6e..85d30eb58a 100644 --- a/crypto/objects/obj_dat.c +++ b/crypto/objects/obj_dat.c @@ -642,13 +642,14 @@ const void *OBJ_bsearch_ex_(const void *key, const void *base, int num, if (p == NULL) { const char *base_ = base; int l, h, i = 0, c = 0; + char *p1; for (i = 0; i < num; ++i) { - p = &(base_[i * size]); - c = (*cmp) (key, p); + p1 = &(base_[i * size]); + c = (*cmp) (key, p1); if (c == 0 || (c < 0 && (flags & OBJ_BSEARCH_VALUE_ON_NOMATCH))) - return p; + return p1; } } #endif |