summaryrefslogtreecommitdiffstats
path: root/crypto
diff options
context:
space:
mode:
authorPavel Stetsuk <pstetsuk@gmail.com>2023-09-14 23:05:49 +0300
committerTomas Mraz <tomas@openssl.org>2023-10-18 16:40:19 +0200
commitd6304236252a19966424fbb1bf3b20874fab06af (patch)
tree61bfdefefa67505ee8010cc63681a39b514ad733 /crypto
parent86f3fae5f8fb4d9cb96ea9b34250cd3abc3038ef (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.c7
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