diff options
| author | bcook <> | 2015-07-19 00:56:48 +0000 |
|---|---|---|
| committer | bcook <> | 2015-07-19 00:56:48 +0000 |
| commit | 591df63d95caba9db2372028caaba50b9d296e33 (patch) | |
| tree | e492ce9ffb9423ee412798a335a461ada1eb911d /src | |
| parent | 310fa0ab1bf7e6d6f3f72822da4f9283d737ed97 (diff) | |
| download | openbsd-591df63d95caba9db2372028caaba50b9d296e33.tar.gz openbsd-591df63d95caba9db2372028caaba50b9d296e33.tar.bz2 openbsd-591df63d95caba9db2372028caaba50b9d296e33.zip | |
abort when ENGINE_remove fails, fix Coverity 21656
ok doug@, beck@
Diffstat (limited to 'src')
| -rw-r--r-- | src/lib/libcrypto/engine/eng_list.c | 7 | ||||
| -rw-r--r-- | src/lib/libssl/src/crypto/engine/eng_list.c | 7 |
2 files changed, 4 insertions, 10 deletions
diff --git a/src/lib/libcrypto/engine/eng_list.c b/src/lib/libcrypto/engine/eng_list.c index 30f09adc73..fc1d16b183 100644 --- a/src/lib/libcrypto/engine/eng_list.c +++ b/src/lib/libcrypto/engine/eng_list.c | |||
| @@ -1,4 +1,4 @@ | |||
| 1 | /* $OpenBSD: eng_list.c,v 1.20 2015/06/19 06:32:43 bcook Exp $ */ | 1 | /* $OpenBSD: eng_list.c,v 1.21 2015/07/19 00:56:48 bcook Exp $ */ |
| 2 | /* Written by Geoff Thorpe (geoff@geoffthorpe.net) for the OpenSSL | 2 | /* Written by Geoff Thorpe (geoff@geoffthorpe.net) for the OpenSSL |
| 3 | * project 2000. | 3 | * project 2000. |
| 4 | */ | 4 | */ |
| @@ -92,11 +92,8 @@ engine_list_cleanup(void) | |||
| 92 | { | 92 | { |
| 93 | ENGINE *iterator = engine_list_head; | 93 | ENGINE *iterator = engine_list_head; |
| 94 | 94 | ||
| 95 | while (iterator != NULL) { | 95 | while (iterator != NULL && ENGINE_remove(iterator)) |
| 96 | ENGINE_remove(iterator); | ||
| 97 | iterator = engine_list_head; | 96 | iterator = engine_list_head; |
| 98 | } | ||
| 99 | return; | ||
| 100 | } | 97 | } |
| 101 | 98 | ||
| 102 | /* These static functions starting with a lower case "engine_" always | 99 | /* These static functions starting with a lower case "engine_" always |
diff --git a/src/lib/libssl/src/crypto/engine/eng_list.c b/src/lib/libssl/src/crypto/engine/eng_list.c index 30f09adc73..fc1d16b183 100644 --- a/src/lib/libssl/src/crypto/engine/eng_list.c +++ b/src/lib/libssl/src/crypto/engine/eng_list.c | |||
| @@ -1,4 +1,4 @@ | |||
| 1 | /* $OpenBSD: eng_list.c,v 1.20 2015/06/19 06:32:43 bcook Exp $ */ | 1 | /* $OpenBSD: eng_list.c,v 1.21 2015/07/19 00:56:48 bcook Exp $ */ |
| 2 | /* Written by Geoff Thorpe (geoff@geoffthorpe.net) for the OpenSSL | 2 | /* Written by Geoff Thorpe (geoff@geoffthorpe.net) for the OpenSSL |
| 3 | * project 2000. | 3 | * project 2000. |
| 4 | */ | 4 | */ |
| @@ -92,11 +92,8 @@ engine_list_cleanup(void) | |||
| 92 | { | 92 | { |
| 93 | ENGINE *iterator = engine_list_head; | 93 | ENGINE *iterator = engine_list_head; |
| 94 | 94 | ||
| 95 | while (iterator != NULL) { | 95 | while (iterator != NULL && ENGINE_remove(iterator)) |
| 96 | ENGINE_remove(iterator); | ||
| 97 | iterator = engine_list_head; | 96 | iterator = engine_list_head; |
| 98 | } | ||
| 99 | return; | ||
| 100 | } | 97 | } |
| 101 | 98 | ||
| 102 | /* These static functions starting with a lower case "engine_" always | 99 | /* These static functions starting with a lower case "engine_" always |
