diff options
author | Randall S. Becker <rsbecker@nexbridge.com> | 2023-06-01 13:29:15 -0600 |
---|---|---|
committer | Tomas Mraz <tomas@openssl.org> | 2023-07-14 12:04:04 +0200 |
commit | 45cd2554efc82f8959b4e8ac53bc419b4d5e195a (patch) | |
tree | e37b0dc7f742b083075a6f68fa2f64ef6e8b7f1c /crypto | |
parent | 3c156988f82ebd2659b80b1f333ab3d46261f360 (diff) |
Modified OSSL_parse_url to initialize pport_num to 0.
This change is intended to provide some safety for uninitialized stack failures
that have appeared in 80-test_cmp_http on NonStop x86 when run in a complex
CI/CD Jenkins environment. This change also adds init_pint() to handle the
initialization of a pointer to int value.
Fixes: #21083
Signed-off-by: Randall S. Becker <randall.becker@nexbridge.ca>
Reviewed-by: Paul Dale <pauli@openssl.org>
Reviewed-by: Richard Levitte <levitte@openssl.org>
Reviewed-by: Tomas Mraz <tomas@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/21109)
Diffstat (limited to 'crypto')
-rw-r--r-- | crypto/http/http_lib.c | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/crypto/http/http_lib.c b/crypto/http/http_lib.c index 911f159081..3164d01d9e 100644 --- a/crypto/http/http_lib.c +++ b/crypto/http/http_lib.c @@ -22,6 +22,13 @@ static void init_pstring(char **pstr) } } +static void init_pint(int *pint) +{ + if (pint != NULL) { + *pint = 0; + } +} + static int copy_substring(char **dest, const char *start, const char *end) { return dest == NULL @@ -54,6 +61,7 @@ int OSSL_parse_url(const char *url, char **pscheme, char **puser, char **phost, init_pstring(puser); init_pstring(phost); init_pstring(pport); + init_pint(pport_num); init_pstring(ppath); init_pstring(pfrag); init_pstring(pquery); |