Mercurial > hg > nginx-quic
view src/os/unix/ngx_dlopen.h @ 8233:5a92523e50d3 quic
HTTP/3: null-terminate empty header value.
Header value returned from the HTTP parser is expected to be null-terminated or
have a spare byte after the value bytes. When an empty header value was passed
by client in a literal header representation, neither was true. This could
result in segfault. The fix is to assign a literal empty null-terminated
string in this case.
Thanks to Andrey Kolyshkin.
author | Roman Arutyunyan <arut@nginx.com> |
---|---|
date | Tue, 17 Nov 2020 20:54:10 +0000 |
parents | 7142b04337d6 |
children |
line wrap: on
line source
/* * Copyright (C) Maxim Dounin * Copyright (C) Nginx, Inc. */ #ifndef _NGX_DLOPEN_H_INCLUDED_ #define _NGX_DLOPEN_H_INCLUDED_ #include <ngx_config.h> #include <ngx_core.h> #define ngx_dlopen(path) dlopen((char *) path, RTLD_NOW | RTLD_GLOBAL) #define ngx_dlopen_n "dlopen()" #define ngx_dlsym(handle, symbol) dlsym(handle, symbol) #define ngx_dlsym_n "dlsym()" #define ngx_dlclose(handle) dlclose(handle) #define ngx_dlclose_n "dlclose()" #if (NGX_HAVE_DLOPEN) char *ngx_dlerror(void); #endif #endif /* _NGX_DLOPEN_H_INCLUDED_ */