On 11/02, Eric Biggers wrote:
> On Mon, Oct 26, 2020 at 05:40:00PM +0800, Robin Hsu via Linux-f2fs-devel 
> wrote:
> > 'ret' should not have been used here: otherwise, it would be wrongly used
> > as the error code and then be returned from main().
> > 
> > Signed-off-by: Robin Hsu <robin...@google.com>
> > ---
> >  fsck/fsck.c | 3 +--
> >  1 file changed, 1 insertion(+), 2 deletions(-)
> > 
> > diff --git a/fsck/fsck.c b/fsck/fsck.c
> > index f97e9fb..66e4e3f 100644
> > --- a/fsck/fsck.c
> > +++ b/fsck/fsck.c
> > @@ -3137,8 +3137,7 @@ int fsck_verify(struct f2fs_sb_info *sbi)
> >             char ans[255] = {0};
> >  
> >             printf("\nDo you want to restore lost files into ./lost_found/? 
> > [Y/N] ");
> > -           ret = scanf("%s", ans);
> > -           ASSERT(ret >= 0);
> > +           ASSERT(scanf("%s", ans) >= 0);
> >             if (!strcasecmp(ans, "y")) {
> >                     for (i = 0; i < fsck->nr_nat_entries; i++) {
> >                             if (f2fs_test_bit(i, fsck->nat_area_bitmap))
> 
> This patch causes a compiler warning:
> 
>       In file included from f2fs.h:33,
>                        from fsck.h:14,
>                        from fsck.c:11:
>       fsck.c: In function 'fsck_verify':
>       ../include/f2fs_fs.h:197:11: warning: format '%s' expects a matching 
> 'char *' argument [-Wformat=]
>           printf("[ASSERT] (%s:%4d) " #exp"\n",  \
>                  ^~~~~~~~~~~~~~~~~~~~
>       fsck.c:3151:3: note: in expansion of macro 'ASSERT'
>          ASSERT(scanf("%s", ans) >= 0);
>          ^~~~~~

Urg. Fixed by this.

>From c986140e3c5abb9eb7a08928a88acb8273f1bd52 Mon Sep 17 00:00:00 2001
From: Robin Hsu <robin...@google.com>
Date: Mon, 26 Oct 2020 17:40:00 +0800
Subject: [PATCH] f2fs-toos: fsck.f2fs Fix bad return value

'ret' should not have been used here: otherwise, it would be wrongly used
as the error code and then be returned from main().

Signed-off-by: Robin Hsu <robin...@google.com>
Reviewed-by: Chao Yu <yuch...@huawei.com>
Signed-off-by: Jaegeuk Kim <jaeg...@kernel.org>
---
 fsck/fsck.c | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/fsck/fsck.c b/fsck/fsck.c
index 647523397f3e..e52672032d2c 100644
--- a/fsck/fsck.c
+++ b/fsck/fsck.c
@@ -3146,10 +3146,11 @@ int fsck_verify(struct f2fs_sb_info *sbi)
 #ifndef WITH_ANDROID
        if (nr_unref_nid && !c.ro) {
                char ans[255] = {0};
+               int res;
 
                printf("\nDo you want to restore lost files into ./lost_found/? 
[Y/N] ");
-               ret = scanf("%s", ans);
-               ASSERT(ret >= 0);
+               res = scanf("%s", ans);
+               ASSERT(res >= 0);
                if (!strcasecmp(ans, "y")) {
                        for (i = 0; i < fsck->nr_nat_entries; i++) {
                                if (f2fs_test_bit(i, fsck->nat_area_bitmap))
-- 
2.29.1.341.ge80a0c044ae-goog

Reply via email to