From: Alexander Dahl <ada@thorsis.com>
To: linux-mtd@lists.infradead.org
Cc: richard@nod.at, David Oberhollenzer <david.oberhollenzer@sigma-star.at>
Subject: Re: [PATCH 1/8] mtd-utils: Fix printf format specifies with the wrong type
Date: Wed, 29 Jan 2020 08:36:25 +0100 [thread overview]
Message-ID: <1687829.rdH24INEY4@ada> (raw)
In-Reply-To: <20200128172715.19545-2-david.oberhollenzer@sigma-star.at>
Hello David,
Am Dienstag, 28. Januar 2020, 18:27:08 CET schrieb David Oberhollenzer:
> Signed-off-by: David Oberhollenzer <david.oberhollenzer@sigma-star.at>
> ---
> misc-utils/flashcp.c | 8 ++++----
> tests/ubi-tests/io_paral.c | 4 ++--
> tests/ubi-tests/io_read.c | 2 +-
> tests/ubi-tests/io_update.c | 4 ++--
> 4 files changed, 9 insertions(+), 9 deletions(-)
>
> diff --git a/misc-utils/flashcp.c b/misc-utils/flashcp.c
> index b6ad2f9..1270422 100644
> --- a/misc-utils/flashcp.c
> +++ b/misc-utils/flashcp.c
> @@ -337,12 +337,12 @@ int main (int argc,char *argv[])
> if (result < 0)
> {
> log_printf (LOG_ERROR,
> - "While writing data to 0x%.8x-0x%.8x on %s: %m\n",
> + "While writing data to 0x%.8lx-0x%.8lx on %s: %m\n",
> written,written + i,device);
> exit (EXIT_FAILURE);
> }
> log_printf (LOG_ERROR,
> - "Short write count returned while writing to x%.8x-0x%.8x on
%s:
> %d/%llu bytes written to flash\n", + "Short write count
returned while
> writing to x%.8lx-0x%.8lx on %s: %lu/%llu bytes written to flash\n",
> written,written + i,device,written + result,(unsigned long
> long)filestat.st_size); exit (EXIT_FAILURE);
> }
The correct length specifier for variables of type size_t would be 'z' so the
format specifier would be %zx or %zu. The 'l' for long might work on one
platform but lead to a warning on another. We face this regularly when
compiling the same source for 64 bit x86 and 32 bit arm.
> @@ -372,7 +372,7 @@ int main (int argc,char *argv[])
> if (size < BUFSIZE) i = size;
> if (flags & FLAG_VERBOSE)
> log_printf (LOG_NORMAL,
> - "\rVerifying data: %dk/%lluk (%llu%%)",
> + "\rVerifying data: %luk/%lluk (%llu%%)",
> KB (written + i),
> KB ((unsigned long long)filestat.st_size),
> PERCENTAGE (written + i,(unsigned long long)filestat.st_size));
> @@ -387,7 +387,7 @@ int main (int argc,char *argv[])
> if (memcmp (src,dest,i))
> {
> log_printf (LOG_ERROR,
> - "File does not seem to match flash data. First mismatch at
> 0x%.8x-0x%.8x\n", + "File does not seem to match flash data.
First
> mismatch at 0x%.8lx-0x%.8lx\n", written,written + i);
> exit (EXIT_FAILURE);
> }
Same with that ones.
I'm not sure of those 'written + i' though, might be different due to integer
promotion.
Greets
Alex
> diff --git a/tests/ubi-tests/io_paral.c b/tests/ubi-tests/io_paral.c
> index 4040b3e..b0884fe 100644
> --- a/tests/ubi-tests/io_paral.c
> +++ b/tests/ubi-tests/io_paral.c
> @@ -207,7 +207,7 @@ static void *write_thread(void *ptr)
> ret = pwrite(fd, wbuf, dev_info.leb_size, offs);
> if (ret != dev_info.leb_size) {
> failed("pwrite");
> - errorm("cannot write %d bytes to offs %lld, wrote %d",
> + errorm("cannot write %d bytes to offs %ld, wrote %d",
> dev_info.leb_size, offs, ret);
> break;
> }
> @@ -216,7 +216,7 @@ static void *write_thread(void *ptr)
> ret = pread(fd, rbuf, dev_info.leb_size, offs);
> if (ret != dev_info.leb_size) {
> failed("read");
> - errorm("failed to read %d bytes at offset %d "
> + errorm("failed to read %d bytes at offset %ld "
> "of volume %d", dev_info.leb_size, offs,
> vol_id);
> break;
> diff --git a/tests/ubi-tests/io_read.c b/tests/ubi-tests/io_read.c
> index f944a86..a6cc8f5 100644
> --- a/tests/ubi-tests/io_read.c
> +++ b/tests/ubi-tests/io_read.c
> @@ -233,7 +233,7 @@ static int test_read2(const struct ubi_vol_info
> *vol_info, int len) continue;
>
> if (test_read3(vol_info, len, offsets[i])) {
> - errorm("offset = %d", offsets[i]);
> + errorm("offset = %ld", offsets[i]);
> return -1;
> }
> }
> diff --git a/tests/ubi-tests/io_update.c b/tests/ubi-tests/io_update.c
> index f48df1d..d093da5 100644
> --- a/tests/ubi-tests/io_update.c
> +++ b/tests/ubi-tests/io_update.c
> @@ -189,11 +189,11 @@ static int test_update1(struct ubi_vol_info *vol_info,
> int leb_change) ret = read(fd, buf1, test_len);
> if (ret < 0) {
> failed("read");
> - errorm("failed to read %d bytes", test_len);
> + errorm("failed to read %lld bytes", test_len);
> goto close;
> }
> if (ret != test_len) {
> - errorm("failed to read %d bytes, read %d", test_len, ret);
> + errorm("failed to read %lld bytes, read %d", test_len, ret);
> goto close;
> }
> if (memcmp(buf, buf1, test_len)) {
______________________________________________________
Linux MTD discussion mailing list
http://lists.infradead.org/mailman/listinfo/linux-mtd/
next prev parent reply other threads:[~2020-01-29 7:42 UTC|newest]
Thread overview: 11+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-01-28 17:27 [PATCH 0/8] mtd-utils: fixes for various issues reported by static analysis David Oberhollenzer
2020-01-28 17:27 ` [PATCH 1/8] mtd-utils: Fix printf format specifies with the wrong type David Oberhollenzer
2020-01-29 7:36 ` Alexander Dahl [this message]
2020-01-30 10:13 ` David Oberhollenzer
2020-01-28 17:27 ` [PATCH 2/8] mtd-utils: Fix potential negative arguments passed to close(2) David Oberhollenzer
2020-01-28 17:27 ` [PATCH 3/8] mtd-utils: Fix various TOCTOU issues David Oberhollenzer
2020-01-28 17:27 ` [PATCH 4/8] mtd-utils: Fix some simple cases of uninitialized value reads David Oberhollenzer
2020-01-28 17:27 ` [PATCH 5/8] mtd-utils: Fix wrong argument to sizeof in nanddump David Oberhollenzer
2020-01-28 17:27 ` [PATCH 6/8] mtd-utils: Fix "are we really at EOF" test logic in libubi read_data David Oberhollenzer
2020-01-28 17:27 ` [PATCH 7/8] mtd-utils: Fix potentially unterminated strings David Oberhollenzer
2020-01-28 17:27 ` [PATCH 8/8] mtd-utils: Add checks to code that copies strings into fixed sized buffers David Oberhollenzer
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1687829.rdH24INEY4@ada \
--to=ada@thorsis.com \
--cc=david.oberhollenzer@sigma-star.at \
--cc=linux-mtd@lists.infradead.org \
--cc=richard@nod.at \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).