<feed xmlns='http://www.w3.org/2005/Atom'>
<title>nginx.git/src/core, branch release-1.6.3</title>
<subtitle>nginx</subtitle>
<link rel='alternate' type='text/html' href='https://git.sigsegv.uk/nginx.git/'/>
<entry>
<title>Overflow detection in ngx_inet_addr().</title>
<updated>2015-03-16T21:26:22+00:00</updated>
<author>
<name>Ruslan Ermilov</name>
<email>ru@nginx.com</email>
</author>
<published>2015-03-16T21:26:22+00:00</published>
<link rel='alternate' type='text/html' href='https://git.sigsegv.uk/nginx.git/commit/?id=166a3a13a497c7218d052a7fae4a9a5456268575'/>
<id>166a3a13a497c7218d052a7fae4a9a5456268575</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Core: overflow detection in ngx_parse_time() (ticket #732).</title>
<updated>2015-03-16T21:26:20+00:00</updated>
<author>
<name>Ruslan Ermilov</name>
<email>ru@nginx.com</email>
</author>
<published>2015-03-16T21:26:20+00:00</published>
<link rel='alternate' type='text/html' href='https://git.sigsegv.uk/nginx.git/commit/?id=7523e71888d3f2b62e4752c8b7df7c554ae679f6'/>
<id>7523e71888d3f2b62e4752c8b7df7c554ae679f6</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Refactored ngx_parse_time().</title>
<updated>2015-03-16T21:26:18+00:00</updated>
<author>
<name>Ruslan Ermilov</name>
<email>ru@nginx.com</email>
</author>
<published>2015-03-16T21:26:18+00:00</published>
<link rel='alternate' type='text/html' href='https://git.sigsegv.uk/nginx.git/commit/?id=ea13aadd303ed8afa404e1aff0b2f33aad79c1a8'/>
<id>ea13aadd303ed8afa404e1aff0b2f33aad79c1a8</id>
<content type='text'>
No functional changes.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
No functional changes.
</pre>
</div>
</content>
</entry>
<entry>
<title>Core: overflow detection in number parsing functions.</title>
<updated>2015-03-16T21:26:15+00:00</updated>
<author>
<name>Ruslan Ermilov</name>
<email>ru@nginx.com</email>
</author>
<published>2015-03-16T21:26:15+00:00</published>
<link rel='alternate' type='text/html' href='https://git.sigsegv.uk/nginx.git/commit/?id=d5d9d7092087a434c75dc034148bd3b5d862da84'/>
<id>d5d9d7092087a434c75dc034148bd3b5d862da84</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Core: expose maximum values of time_t and ngx_int_t.</title>
<updated>2015-03-16T21:24:34+00:00</updated>
<author>
<name>Ruslan Ermilov</name>
<email>ru@nginx.com</email>
</author>
<published>2015-03-16T21:24:34+00:00</published>
<link rel='alternate' type='text/html' href='https://git.sigsegv.uk/nginx.git/commit/?id=44a2b97bd2773dc679ebce32eaf3c6f4f665f36c'/>
<id>44a2b97bd2773dc679ebce32eaf3c6f4f665f36c</id>
<content type='text'>
These are needed to detect overflows.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
These are needed to detect overflows.
</pre>
</div>
</content>
</entry>
<entry>
<title>Core: fixed potential buffer overrun when initializing hash.</title>
<updated>2015-02-24T15:37:14+00:00</updated>
<author>
<name>Maxim Dounin</name>
<email>mdounin@mdounin.ru</email>
</author>
<published>2015-02-24T15:37:14+00:00</published>
<link rel='alternate' type='text/html' href='https://git.sigsegv.uk/nginx.git/commit/?id=0071fbb9e6685b76a4865f460cb674020dfdf8ec'/>
<id>0071fbb9e6685b76a4865f460cb674020dfdf8ec</id>
<content type='text'>
Initial size as calculated from the number of elements may be bigger
than max_size.  If this happens, make sure to set size to max_size.

Reported by Chris West.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Initial size as calculated from the number of elements may be bigger
than max_size.  If this happens, make sure to set size to max_size.

Reported by Chris West.
</pre>
</div>
</content>
</entry>
<entry>
<title>Core: fixed a race resulting in extra sem_post()'s.</title>
<updated>2015-02-04T13:22:43+00:00</updated>
<author>
<name>Roman Arutyunyan</name>
<email>arut@nginx.com</email>
</author>
<published>2015-02-04T13:22:43+00:00</published>
<link rel='alternate' type='text/html' href='https://git.sigsegv.uk/nginx.git/commit/?id=06d72320ff5d5cd717b576920bc27c3e26329774'/>
<id>06d72320ff5d5cd717b576920bc27c3e26329774</id>
<content type='text'>
The mtx-&gt;wait counter was not decremented if we were able to obtain the lock
right after incrementing it.  This resulted in unneeded sem_post() calls,
eventually leading to EOVERFLOW errors being logged, "sem_post() failed
while wake shmtx (75: Value too large for defined data type)".

To close the race, mtx-&gt;wait is now decremented if we obtain the lock right
after incrementing it in ngx_shmtx_lock().  The result can become -1 if a
concurrent ngx_shmtx_unlock() decrements mtx-&gt;wait before the added code does.
However, that only leads to one extra iteration in the next call of
ngx_shmtx_lock().
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The mtx-&gt;wait counter was not decremented if we were able to obtain the lock
right after incrementing it.  This resulted in unneeded sem_post() calls,
eventually leading to EOVERFLOW errors being logged, "sem_post() failed
while wake shmtx (75: Value too large for defined data type)".

To close the race, mtx-&gt;wait is now decremented if we obtain the lock right
after incrementing it in ngx_shmtx_lock().  The result can become -1 if a
concurrent ngx_shmtx_unlock() decrements mtx-&gt;wait before the added code does.
However, that only leads to one extra iteration in the next call of
ngx_shmtx_lock().
</pre>
</div>
</content>
</entry>
<entry>
<title>Resolver: fixed use-after-free memory access.</title>
<updated>2014-11-20T12:24:40+00:00</updated>
<author>
<name>Ruslan Ermilov</name>
<email>ru@nginx.com</email>
</author>
<published>2014-11-20T12:24:40+00:00</published>
<link rel='alternate' type='text/html' href='https://git.sigsegv.uk/nginx.git/commit/?id=1f9564223bc8073e08537526dfdfbb8b5087a5a3'/>
<id>1f9564223bc8073e08537526dfdfbb8b5087a5a3</id>
<content type='text'>
In 954867a2f0a6, we switched to using resolver node as the
timer event data, so make sure we do not free resolver node
memory until the corresponding timer is deleted.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
In 954867a2f0a6, we switched to using resolver node as the
timer event data, so make sure we do not free resolver node
memory until the corresponding timer is deleted.
</pre>
</div>
</content>
</entry>
<entry>
<title>Core: fixed buffer overrun when hash max_size reached.</title>
<updated>2014-10-02T19:00:17+00:00</updated>
<author>
<name>Yichun Zhang</name>
<email>agentzh@gmail.com</email>
</author>
<published>2014-10-02T19:00:17+00:00</published>
<link rel='alternate' type='text/html' href='https://git.sigsegv.uk/nginx.git/commit/?id=662ae6da6ba7ca43c5efe3feda5ec04f50d52070'/>
<id>662ae6da6ba7ca43c5efe3feda5ec04f50d52070</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Version bump.</title>
<updated>2015-04-06T15:54:19+00:00</updated>
<author>
<name>Maxim Dounin</name>
<email>mdounin@mdounin.ru</email>
</author>
<published>2015-04-06T15:54:19+00:00</published>
<link rel='alternate' type='text/html' href='https://git.sigsegv.uk/nginx.git/commit/?id=55b299d72d1536f8a7b975ef4ebd2633bbf99365'/>
<id>55b299d72d1536f8a7b975ef4ebd2633bbf99365</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
</feed>
