Fixing crash during IPv6 text address generation.
When the textual representation of an IPv6 nxt_sockaddr_t was being generated, a crash would occur if the address had a full IPv6 form: f607:7403:1e4b:6c66:33b2:843f:2517:da27 This was caused by a variable that tracks the location of a collapsed group ("::") that was not set to a sane default. When the address was generated, a group would be inserted when it was not necessary, thus causing an overflow. This closes #481 issue on GitHub.
This commit is contained in:
parent
54bf3e1912
commit
7d2bc04e39
2 changed files with 9 additions and 2 deletions
|
@ -45,6 +45,13 @@ process stopped or crashed.
|
|||
</para>
|
||||
</change>
|
||||
|
||||
<change type="bugfix">
|
||||
<para>
|
||||
the controller or router process could crash if the configuration contained
|
||||
a full-form IPv6 in a listener address.
|
||||
</para>
|
||||
</change>
|
||||
|
||||
</changes>
|
||||
|
||||
|
||||
|
|
|
@ -525,9 +525,9 @@ nxt_inet6_ntop(u_char *addr, u_char *buf, u_char *end)
|
|||
return buf;
|
||||
}
|
||||
|
||||
zero_start = 8;
|
||||
zero_start = 16;
|
||||
zero_groups = 0;
|
||||
last_zero_start = 8;
|
||||
last_zero_start = 16;
|
||||
last_zero_groups = 0;
|
||||
|
||||
for (i = 0; i < 16; i += 2) {
|
||||
|
|
Loading…
Reference in a new issue