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

Reply via email to