Package: diffoscope Version: 51 Severity: normal Hi, Pabs! Please try an attached patch. Hopefully, it'll solve this problem. :)
Thanks! Satyam Zode PICT, Pune On Sun, Apr 3, 2016 at 2:02 AM, Satyam Zode <satyamz...@gmail.com> wrote: > Hi, Pabs! > > Please try an attached patch! Hopefully, it'll solve this problem. :) > > Thank you! > Satyam > Satyam Zode > PICT, Pune > > > On Mon, Mar 21, 2016 at 8:02 AM, Paul Wise <p...@debian.org> wrote: >> Package: diffoscope >> Version: 51 >> Severity: normal >> >> I found a way to crash diffoscope with broken symlinks: >> >> pabs@chianamo ~ $ mkdir foo bar >> pabs@chianamo ~ $ touch foo/baz >> pabs@chianamo ~ $ ln -s asdasfahguwbagpiuasbdifgsabdf bar/baz >> pabs@chianamo ~ $ diffoscope foo bar >> Traceback (most recent call last): >> File "/usr/lib/python3/dist-packages/diffoscope/__main__.py", line 177, in >> main >> sys.exit(run_diffoscope(parsed_args)) >> File "/usr/lib/python3/dist-packages/diffoscope/__main__.py", line 148, in >> run_diffoscope >> parsed_args.file1, parsed_args.file2) >> File "/usr/lib/python3/dist-packages/diffoscope/comparators/__init__.py", >> line 92, in compare_root_paths >> return compare_directories(path1, path2) >> File "/usr/lib/python3/dist-packages/diffoscope/comparators/directory.py", >> line 104, in compare_directories >> return FilesystemDirectory(path1).compare(FilesystemDirectory(path2)) >> File "/usr/lib/python3/dist-packages/diffoscope/comparators/directory.py", >> line 157, in compare >> my_file, other_file, source=name) >> File "/usr/lib/python3/dist-packages/diffoscope/comparators/__init__.py", >> line 102, in compare_files >> if file1.has_same_content_as(file2): >> File "/usr/lib/python3/dist-packages/diffoscope/__init__.py", line 143, in >> tool_check >> return original_function(*args, **kwargs) >> File "/usr/lib/python3/dist-packages/diffoscope/comparators/binary.py", >> line 186, in has_same_content_as >> other_size = os.path.getsize(other.path) >> File "/usr/lib/python3.5/genericpath.py", line 50, in getsize >> return os.stat(filename).st_size >> FileNotFoundError: [Errno 2] No such file or directory: 'bar/baz' >> >> -- System Information: >> Debian Release: stretch/sid >> APT prefers testing >> APT policy: (900, 'testing'), (860, 'testing-proposed-updates'), (850, >> 'buildd-testing-proposed-updates'), (800, 'unstable'), (790, >> 'buildd-unstable'), (700, 'experimental'), (690, 'buildd-experimental'), >> (500, 'unstable-debug'), (1, 'experimental-debug') >> Architecture: amd64 (x86_64) >> >> Kernel: Linux 4.4.0-1-amd64 (SMP w/4 CPU cores) >> Locale: LANG=en_AU.utf8, LC_CTYPE=en_AU.utf8 (charmap=UTF-8) >> Shell: /bin/sh linked to /bin/dash >> Init: systemd (via /run/systemd/system) >> >> Versions of packages diffoscope depends on: >> ii python3-libarchive-c 2.1-3 >> ii python3-magic 1:5.25-2 >> ii python3-pkg-resources 18.8-1 >> pn python3:any <none> >> >> Versions of packages diffoscope recommends: >> ii acl 2.2.52-3 >> ii binutils-multiarch 2.26-5 >> ii bzip2 1.0.6-8 >> ii caca-utils 0.99.beta19-2+b1 >> ii colord 1.2.12-1 >> ii cpio 2.11+dfsg-5 >> pn default-jdk | java-sdk <none> >> ii enjarify 20151118-1 >> ii fontforge-extras 0.3-4 >> pn fp-utils <none> >> ii genisoimage 9:1.1.11-3 >> ii gettext 0.19.7-2 >> ii ghc 7.10.3-7 >> ii ghostscript 9.18~dfsg-4 >> ii gnupg 1.4.20-4 >> pn mono-utils <none> >> ii pdftk 2.02-3 >> ii poppler-utils 0.38.0-2 >> ii python3-debian 0.1.27 >> pn python3-guestfs <none> >> ii python3-rpm 4.12.0.1+dfsg1-3+b2 >> ii python3-tlsh 3.4.4+20151206-1+b1 >> ii rpm2cpio 4.12.0.1+dfsg1-3+b2 >> ii sng 1.1.0-1 >> ii sqlite3 3.11.1-1 >> ii squashfs-tools 1:4.3-3 >> ii unzip 6.0-20 >> ii vim-common 2:7.4.963-1+b2 >> ii xz-utils 5.1.1alpha+20120614-2.1 >> >> Versions of packages diffoscope suggests: >> ii libjs-jquery 1.11.3+dfsg-4 >> >> -- no debconf information >> >> -- >> bye, >> pabs >> >> https://wiki.debian.org/PaulWise >> >> >> >> _______________________________________________ >> Reproducible-builds mailing list >> reproducible-bui...@lists.alioth.debian.org >> http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/reproducible-builds
From 3e9aea18767099dffe62c14e7215aed54347a10f Mon Sep 17 00:00:00 2001 From: Satyam Zode <satyamz...@gmail.com> Date: Mon, 21 Mar 2016 23:12:55 +0530 Subject: [PATCH 1/2] fixed issue related to diffoscope symlinks crashing --- diffoscope/comparators/binary.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/diffoscope/comparators/binary.py b/diffoscope/comparators/binary.py index 9663214..5622a9c 100644 --- a/diffoscope/comparators/binary.py +++ b/diffoscope/comparators/binary.py @@ -183,7 +183,7 @@ class File(object, metaclass=ABCMeta): logger.debug('%s has_same_content %s', self, other) # try comparing small files directly first my_size = os.path.getsize(self.path) - other_size = os.path.getsize(other.path) + other_size = os.lstat(other.path).st_size if my_size == other_size and my_size <= SMALL_FILE_THRESHOLD: if open(self.path, 'rb').read() == open(other.path, 'rb').read(): return True -- 2.1.4