Am Mittwoch, 7. August 2013, 08:24:35 schrieb Will Dietz:
> Hi all,
> 
> There's a minor integer error in wget as described in the following bug
> report:
> 
> https://savannah.gnu.org/bugs/?39453
> 
> Patch is included, please review.
> 
> Thanks!

Hi Will,

isn't the real problem a signed/unsigned comparison ?

If remaining_chars becomes negative (due to token is longer or equal to 
line_length), the comparison
      if (remaining_chars <= strlen (token))
is false or at least undefined.

If we change it to
      if (remaining_chars <= (int) strlen (token))
the function should work.

Using gcc -Wsign-compare warns about such constructs.

Isn't there another bug, when setting
        remaining_chars = line_length - TABULATION;
?
line_length might already be without TABULATION:
  if (line_length <= 0)
    line_length = MAX_CHARS_PER_LINE - TABULATION;

Regards, Tim

Attachment: signature.asc
Description: This is a digitally signed message part.

Reply via email to