Mercurial > hg > nginx-quic
view src/os/unix/ngx_setaffinity.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 | 7296b38f6416 |
children |
line wrap: on
line source
/* * Copyright (C) Nginx, Inc. */ #ifndef _NGX_SETAFFINITY_H_INCLUDED_ #define _NGX_SETAFFINITY_H_INCLUDED_ #if (NGX_HAVE_SCHED_SETAFFINITY || NGX_HAVE_CPUSET_SETAFFINITY) #define NGX_HAVE_CPU_AFFINITY 1 #if (NGX_HAVE_SCHED_SETAFFINITY) typedef cpu_set_t ngx_cpuset_t; #elif (NGX_HAVE_CPUSET_SETAFFINITY) #include <sys/cpuset.h> typedef cpuset_t ngx_cpuset_t; #endif void ngx_setaffinity(ngx_cpuset_t *cpu_affinity, ngx_log_t *log); #else #define ngx_setaffinity(cpu_affinity, log) typedef uint64_t ngx_cpuset_t; #endif #endif /* _NGX_SETAFFINITY_H_INCLUDED_ */