Welcome! Log In Create A New Profile

Advanced

[nginx] SSL: separate checks for errors in ngx_ssl_read_password_file().

Maxim Dounin
January 31, 2019 01:28PM
details: https://hg.nginx.org/nginx/rev/e72c8a8a8b10
branches:
changeset: 7454:e72c8a8a8b10
user: Maxim Dounin <mdounin@mdounin.ru>
date: Thu Jan 31 19:36:51 2019 +0300
description:
SSL: separate checks for errors in ngx_ssl_read_password_file().

Checking multiple errors at once is a bad practice, as in general
it is not guaranteed that an object can be used after the error.
In this particular case, checking errors after multiple allocations
can result in excessive errors being logged when there is no memory
available.

diffstat:

src/event/ngx_event_openssl.c | 9 ++++++---
1 files changed, 6 insertions(+), 3 deletions(-)

diffs (20 lines):

diff --git a/src/event/ngx_event_openssl.c b/src/event/ngx_event_openssl.c
--- a/src/event/ngx_event_openssl.c
+++ b/src/event/ngx_event_openssl.c
@@ -947,10 +947,13 @@ ngx_ssl_read_password_file(ngx_conf_t *c
return NULL;
}

+ passwords = ngx_array_create(cf->temp_pool, 4, sizeof(ngx_str_t));
+ if (passwords == NULL) {
+ return NULL;
+ }
+
cln = ngx_pool_cleanup_add(cf->temp_pool, 0);
- passwords = ngx_array_create(cf->temp_pool, 4, sizeof(ngx_str_t));
-
- if (cln == NULL || passwords == NULL) {
+ if (cln == NULL) {
return NULL;
}

_______________________________________________
nginx-devel mailing list
nginx-devel@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx-devel
Subject Author Views Posted

[nginx] SSL: separate checks for errors in ngx_ssl_read_password_file().

Maxim Dounin 254 January 31, 2019 01:28PM



Sorry, you do not have permission to post/reply in this forum.

Online Users

Guests: 304
Record Number of Users: 8 on April 13, 2023
Record Number of Guests: 421 on December 02, 2018
Powered by nginx      Powered by FreeBSD      PHP Powered      Powered by MariaDB      ipv6 ready