Mercurial > hg > nginx-quic
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 +++ b/src/core/ngx_string.c @@ -2013,6 +2013,14 @@ ngx_sort(void *base, size_t n, size_t si } +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 +++ b/src/core/ngx_string.h @@ -88,6 +88,8 @@ ngx_strlchr(u_char *p, u_char *last, u_c #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 +++ b/src/event/ngx_event_openssl.c @@ -1051,7 +1051,7 @@ cleanup: 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 @@ ngx_ssl_passwords_cleanup(void *data) 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); } }