diff options
author | Andy Polyakov <appro@openssl.org> | 2014-02-24 15:16:56 +0100 |
---|---|---|
committer | Andy Polyakov <appro@openssl.org> | 2014-02-24 15:23:46 +0100 |
commit | c4b16ddc8f3429408f0244f6e66e9a4237f4da59 (patch) | |
tree | e1f9545eee3a9b15a41938c9c7a386fb6d0c4306 | |
parent | deb3b08ff272246a01d5bae1e15e966bc7834602 (diff) | |
download | openssl-new-c4b16ddc8f3429408f0244f6e66e9a4237f4da59.tar.gz |
x509/by_dir.c: fix run-away pointer (and potential SEGV)
when adding duplicates in add_cert_dir.
PR: 3261
Reported by: Marian Done
(cherry picked from commit 758954e0d8232d370ed72b7f86640e40443e1778)
-rw-r--r-- | crypto/x509/by_dir.c | 6 |
1 files changed, 2 insertions, 4 deletions
diff --git a/crypto/x509/by_dir.c b/crypto/x509/by_dir.c index 27ca5150c1..c6602dae4f 100644 --- a/crypto/x509/by_dir.c +++ b/crypto/x509/by_dir.c @@ -218,7 +218,7 @@ static int add_cert_dir(BY_DIR *ctx, const char *dir, int type) s=dir; p=s; - for (;;p++) + do { if ((*p == LIST_SEPARATOR_CHAR) || (*p == '\0')) { @@ -264,9 +264,7 @@ static int add_cert_dir(BY_DIR *ctx, const char *dir, int type) return 0; } } - if (*p == '\0') - break; - } + } while (*p++ != '\0'); return 1; } |