[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Bug-wget] Format-string mismatch in utils.c
From: |
Mike Frysinger |
Subject: |
Re: [Bug-wget] Format-string mismatch in utils.c |
Date: |
Sat, 27 Jan 2018 02:02:32 -0500 |
On 22 Dec 2017 00:38, Daniel Macks wrote:
> Building wget-1.19.2 on OS X 10.13, I get:
>
> gcc -DHAVE_CONFIG_H -DSYSTEM_WGETRC=\"/sw/etc/wgetrc\"
> -DLOCALEDIR=\"/sw/share/locale\" -I. -I../lib -I../lib -I/sw/include
> -I/sw/include -I/sw/include -I/sw/include -I/sw/include -DNDEBUG -MT utils.o
> -MD -MP -MF .deps/utils.Tpo -c -o utils.o utils.c
> utils.c:2822:24: warning: format specifies type 'int' but the argument has
> type 'unsigned long' [-Wformat]
> (strlen (begin_pos + 8) * 3) / 4, SHA256_DIGEST_SIZE,
> ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>
> The actual code (a diagnostic about a wrong size:) is:
> logprintf (LOG_VERBOSE, _ ("Skipping key with wrong size (%d/%d):
> %s\n"),
> (strlen (begin_pos + 8) * 3) / 4, SHA256_DIGEST_SIZE,
>
> quote (begin_pos + 8));
>
>
> where strlen() returns a size_t. Changing the format-string from (%d/%d) to
> (%lu/%d) solves it for me.
size_t is displayed via %zu
looks like it was changed in to d8df356d4ba46401181bdeacb207a5f2b731645c
to cast it to an int, but seems like %zu would still be the correct fix.
-mike
signature.asc
Description: Digital signature
- Re: [Bug-wget] Format-string mismatch in utils.c,
Mike Frysinger <=