summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authormillert <>2022-09-07 21:34:22 +0000
committermillert <>2022-09-07 21:34:22 +0000
commit0ca9d5c5e38e348ed9be8a958a2821455bf161be (patch)
tree3f7ad628601f4309c49ea50fccdc75741d070ab4 /src
parentf8e97ec40446a142eaf51b0319013f055c851321 (diff)
downloadopenbsd-0ca9d5c5e38e348ed9be8a958a2821455bf161be.tar.gz
openbsd-0ca9d5c5e38e348ed9be8a958a2821455bf161be.tar.bz2
openbsd-0ca9d5c5e38e348ed9be8a958a2821455bf161be.zip
ssl_cipher_process_rulestr: don't read outside rule_str buffer
If rule_str ended in a "-", "l" was incremented one byte past the end of the buffer. This resulted in an out-of-bounds read when "l" is dereferenced at the end of the loop. OK tb@
Diffstat (limited to 'src')
-rw-r--r--src/lib/libssl/ssl_ciph.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/src/lib/libssl/ssl_ciph.c b/src/lib/libssl/ssl_ciph.c
index d304cfe6ec..106a9befdd 100644
--- a/src/lib/libssl/ssl_ciph.c
+++ b/src/lib/libssl/ssl_ciph.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: ssl_ciph.c,v 1.132 2022/09/04 07:55:32 tb Exp $ */ 1/* $OpenBSD: ssl_ciph.c,v 1.133 2022/09/07 21:34:22 millert Exp $ */
2/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) 2/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com)
3 * All rights reserved. 3 * All rights reserved.
4 * 4 *
@@ -1011,7 +1011,8 @@ ssl_cipher_process_rulestr(const char *rule_str, CIPHER_ORDER **head_p,
1011 */ 1011 */
1012 SSLerrorx(SSL_R_INVALID_COMMAND); 1012 SSLerrorx(SSL_R_INVALID_COMMAND);
1013 retval = found = 0; 1013 retval = found = 0;
1014 l++; 1014 if (ch != '\0')
1015 l++;
1015 break; 1016 break;
1016 } 1017 }
1017 1018