diff options
author | Martin Sustrik <sustrik@250bpm.com> | 2011-11-05 16:05:18 +0100 |
---|---|---|
committer | Martin Sustrik <sustrik@250bpm.com> | 2011-11-05 16:05:18 +0100 |
commit | bb66f3cc3bc2a76d10f16e1206f35480eb250a07 (patch) | |
tree | 70c3b54c1b37283964c7faa85e54a00f9cd3b816 /src/mtrie.cpp | |
parent | 6503716203552966e2fa6a6b4839bc0e001f9478 (diff) |
Bug in trie fixed (issue 277)
When there were both '0' and '255' subnodes in (mtrie)
the removal of the node resulted in an infinite loop.
Fixed.
Signed-off-by: Martin Sustrik <sustrik@250bpm.com>
Diffstat (limited to 'src/mtrie.cpp')
-rw-r--r-- | src/mtrie.cpp | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/src/mtrie.cpp b/src/mtrie.cpp index 1c96c98..65b4fe8 100644 --- a/src/mtrie.cpp +++ b/src/mtrie.cpp @@ -171,7 +171,7 @@ void zmq::mtrie_t::rm_helper (pipe_t *pipe_, unsigned char **buff_, } // If there are multiple subnodes. - for (unsigned char c = 0; c != count; c++) { + for (unsigned short c = 0; c != count; c++) { (*buff_) [buffsize_] = min + c; if (next.table [c]) next.table [c]->rm_helper (pipe_, buff_, buffsize_ + 1, |