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