mirror of
https://github.com/openssl/openssl.git
synced 2025-03-13 19:47:47 +08:00
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. It is safest to just return early in this case since the condition occurs inside a nested loop. CLA: trivial Reviewed-by: Paul Dale <pauli@openssl.org> Reviewed-by: Tomas Mraz <tomas@openssl.org> (Merged from https://github.com/openssl/openssl/pull/19166)
This commit is contained in:
parent
e251e7ba1c
commit
428511ca66
@ -1062,9 +1062,7 @@ static int ssl_cipher_process_rulestr(const char *rule_str,
|
||||
* alphanumeric, so we call this an error.
|
||||
*/
|
||||
ERR_raise(ERR_LIB_SSL, SSL_R_INVALID_COMMAND);
|
||||
retval = found = 0;
|
||||
l++;
|
||||
break;
|
||||
return 0;
|
||||
}
|
||||
|
||||
if (rule == CIPHER_SPECIAL) {
|
||||
|
Loading…
x
Reference in New Issue
Block a user