Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 25 Jan 2021 19:39:31 +0000
From:      bugzilla-noreply@freebsd.org
To:        bugs@FreeBSD.org
Subject:   [Bug 252614] /usr/bin/diff : BUG: Incorrectly displaying files as duplicates (includes fix)
Message-ID:  <bug-252614-227-gEvyqwEdyD@https.bugs.freebsd.org/bugzilla/>
In-Reply-To: <bug-252614-227@https.bugs.freebsd.org/bugzilla/>
References:  <bug-252614-227@https.bugs.freebsd.org/bugzilla/>

next in thread | previous in thread | raw e-mail | index | archive | help
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=3D252614

--- Comment #2 from commit-hook@FreeBSD.org ---
A commit in branch main references this bug:

URL:
https://cgit.FreeBSD.org/src/commit/?id=3Dfefb3c46a80fdde6f307e73a2b5b5aed8=
06df1ce

commit fefb3c46a80fdde6f307e73a2b5b5aed806df1ce
Author:     Jamie Landeg-Jones <jamie@catflap.org>
AuthorDate: 2021-01-25 17:42:26 +0000
Commit:     Baptiste Daroussin <bapt@FreeBSD.org>
CommitDate: 2021-01-25 19:38:18 +0000

    diff: fix incorrectly displaying files as duplicates

    When diff hits certain access errors, function diffreg() shows the error
    message, and then returns to the calling function, which calls
    print_status() with the return value.

    However, in these cases, the return value isn't changed from the initial
    default value of D_SAME.

    Normally, print_status() with a value of D_SAME does nothing, so this
    works out ok, however, if the "-s" flag is set, a message is displayed
    showing identicality:

    case D_SAME:
                    if (sflag)
                            printf("Files %s%s and %s%s are identical\n",=
=20=20=20=20=20=20
=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=
=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=
=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=
=20=20=20=20
                path1, entry, path2, entry);
                    break;

    This then produces such results as:

    % diff  -s /COPYRIGHT /var/run/rpcbind.sock
    diff: /var/run/rpcbind.sock: Operation not supported
    Files /COPYRIGHT and /var/run/rpcbind.sock are identical

    % diff  -s /COPYRIGHT /etc/master.passwd
    diff: /etc/master.passwd: Permission denied
    Files /COPYRIGHT and /etc/master.passwd are identical

    Create a D_ERROR status which is returned in such cases, and
    print_status() then deals with that status seperately from D_SAME

    PR:             252614
    MFC after:      1 week

 usr.bin/diff/diff.c    | 2 ++
 usr.bin/diff/diff.h    | 1 +
 usr.bin/diff/diffreg.c | 5 +++++
 3 files changed, 8 insertions(+)

--=20
You are receiving this mail because:
You are the assignee for the bug.=



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?bug-252614-227-gEvyqwEdyD>