On 04/27/17 16:57 +1000, Zenaan Harkness wrote:
The detox program doesn't work quite right, so I'm trying to learn C to fix it, and part of the code looks like a bug to me.
Any recommendations for appropriate mailing list to post questions?
Stack Overflow.
E.g. debian-devel or perhaps something lower volume?
( This particular example:
repo: https://anonscm.debian.org/cgit/collab-maint/detox.git
file: src/clean_string.c
line: from 545: if (new_value == -1) { continue; }
This is dealing with malformed unicode chars in UTF-8, and I'm pretty sure the above should actually be: if (new_value == -1) { input_walk++; continue; }
I believe the input_walk++ is on line 528, and the continue on 546 is an edge case for a scenario where *input_walk should point to the end of string or is UTF_8 encoded, but is not. Try emailing the author which is listed at the top of the file for help.
otherwise, if the method actually gets a malformed UTF-8 encoded unicode character, it looks like it will loop endlessly.
The bug I'm looking for is a different bug again... )
Thanks in advance, Z
-- Dan White