Incident report on memory leak caused by Cloudflare parser bug -http://buff.ly/2lB3gCe
-
-
As it shows, Nginx indicates end of the buffer with ->last, which indicates end of data buffer.
-
But Nginx uses a memory pool, which means that actual memory block behind the buffer can be bigger.
-
Also, as far as I remember, that undefined behavior applies only to array elements, not to "raw" pointers.
-
Dunno what you mean by "raw" pointer. 6.5.6 of C standard only defines pointer arithmetic for pointers into arrays.
-
Even if nginx uses a memory pool, how can you guarantee p never goes past what C considers to be the array object?
-
Fact that nginx crashed sometimes suggests that you can't.
- 1 more reply
New conversation -
Loading seems to be taking a while.
Twitter may be over capacity or experiencing a momentary hiccup. Try again or visit Twitter Status for more information.