Mercurial > hg > nginx
changeset 7395:9ca82f273967
Core: ngx_explicit_memzero().
author | Maxim Dounin <mdounin@mdounin.ru> |
---|---|
date | Thu, 15 Nov 2018 21:28:02 +0300 |
parents | 650574a44505 |
children | e8bdd322d7a6 |
files | src/core/ngx_string.c src/core/ngx_string.h src/event/ngx_event_openssl.c |
diffstat | 3 files changed, 12 insertions(+), 2 deletions(-) [+] |
line wrap: on
line diff
--- a/src/core/ngx_string.c Thu Nov 15 15:28:54 2018 +0300 +++ b/src/core/ngx_string.c Thu Nov 15 21:28:02 2018 +0300 @@ -2013,6 +2013,14 @@ } +void +ngx_explicit_memzero(void *buf, size_t n) +{ + ngx_memzero(buf, n); + ngx_memory_barrier(); +} + + #if (NGX_MEMCPY_LIMIT) void *
--- a/src/core/ngx_string.h Thu Nov 15 15:28:54 2018 +0300 +++ b/src/core/ngx_string.h Thu Nov 15 21:28:02 2018 +0300 @@ -88,6 +88,8 @@ #define ngx_memzero(buf, n) (void) memset(buf, 0, n) #define ngx_memset(buf, c, n) (void) memset(buf, c, n) +void ngx_explicit_memzero(void *buf, size_t n); + #if (NGX_MEMCPY_LIMIT)
--- a/src/event/ngx_event_openssl.c Thu Nov 15 15:28:54 2018 +0300 +++ b/src/event/ngx_event_openssl.c Thu Nov 15 21:28:02 2018 +0300 @@ -1051,7 +1051,7 @@ ngx_close_file_n " \"%s\" failed", file->data); } - ngx_memzero(buf, NGX_SSL_PASSWORD_BUFFER_SIZE); + ngx_explicit_memzero(buf, NGX_SSL_PASSWORD_BUFFER_SIZE); return passwords; } @@ -1068,7 +1068,7 @@ pwd = passwords->elts; for (i = 0; i < passwords->nelts; i++) { - ngx_memzero(pwd[i].data, pwd[i].len); + ngx_explicit_memzero(pwd[i].data, pwd[i].len); } }