Bug#1066991: easy way to crash diffoscope

2024-03-20 Thread Chris Lamb
tags 1066991 + pending
thanks

Fixed in Git, pending upload:

  
https://salsa.debian.org/reproducible-builds/diffoscope/commit/1dc8c79e8307f5772a434ecba549bc923fa28582

  diffoscope/comparators/rdata.py | 12 ++--
  1 file changed, 10 insertions(+), 2 deletions(-)


Regards,

-- 
  ,''`.
 : :'  : Chris Lamb
 `. `'`  la...@debian.org / chris-lamb.co.uk
   `-



Bug#1066991: easy way to crash diffoscope

2024-03-16 Thread Holger Levsen
package: diffoscope
version: 240

hi,

crashing diffoscope in under 2min (the package build takes 42sec here).

$ apt source golang-github-stvp-tempredis 
$ sudo pbuilder build golang-github-stvp-tempredis_0.0~git20231107.8a695b6-1.dsc
$ mkdir p1 ; mv /var/cache/pbuilder/unstable/result/* p1/
$ sudo pbuilder build golang-github-stvp-tempredis_0.0~git20231107.8a695b6-1.dsc
$ mkdir p2 ; mv /var/cache/pbuilder/unstable/result/* p2/
$ diffoscope 
p1/golang-github-stvp-tempredis_0.0~git20231107.8a695b6-1_amd64.changes 
p2/golang-github-stvp-tempredis_0.0~git20231107.8a695b6-1_amd64.changes 
Traceback (most recent call last):
  File "/usr/lib/python3/dist-packages/diffoscope/main.py", line 767, in main
sys.exit(run_diffoscope(parsed_args))
 ^^^
  File "/usr/lib/python3/dist-packages/diffoscope/main.py", line 718, in 
run_diffoscope
difference = compare_root_paths(path1, path2)
 
  File 
"/usr/lib/python3/dist-packages/diffoscope/comparators/utils/compare.py", line 
69, in compare_root_paths
difference = compare_files(file1, file2)
 ^^^
  File 
"/usr/lib/python3/dist-packages/diffoscope/comparators/utils/compare.py", line 
149, in compare_files
return file1.compare(file2, source)
   
  File "/usr/lib/python3/dist-packages/diffoscope/comparators/debian.py", line 
275, in compare
differences = super().compare(other, *args, **kwargs)
  ^^^
  File "/usr/lib/python3/dist-packages/diffoscope/comparators/utils/file.py", 
line 532, in compare
difference = self._compare_using_details(other, source)
 ^^
  File "/usr/lib/python3/dist-packages/diffoscope/comparators/utils/file.py", 
line 467, in _compare_using_details
details.extend(
  File 
"/usr/lib/python3/dist-packages/diffoscope/comparators/utils/container.py", 
line 197, in compare_pair
difference = compare_files(
 ^^
  File 
"/usr/lib/python3/dist-packages/diffoscope/comparators/utils/compare.py", line 
149, in compare_files
return file1.compare(file2, source)
   
  File "/usr/lib/python3/dist-packages/diffoscope/comparators/utils/file.py", 
line 532, in compare
difference = self._compare_using_details(other, source)
 ^^
  File "/usr/lib/python3/dist-packages/diffoscope/comparators/utils/file.py", 
line 467, in _compare_using_details
details.extend(
  File 
"/usr/lib/python3/dist-packages/diffoscope/comparators/utils/container.py", 
line 197, in compare_pair
difference = compare_files(
 ^^
  File 
"/usr/lib/python3/dist-packages/diffoscope/comparators/utils/compare.py", line 
149, in compare_files
return file1.compare(file2, source)
   
  File "/usr/lib/python3/dist-packages/diffoscope/comparators/utils/file.py", 
line 532, in compare
difference = self._compare_using_details(other, source)
 ^^
  File "/usr/lib/python3/dist-packages/diffoscope/comparators/utils/file.py", 
line 467, in _compare_using_details
details.extend(
  File 
"/usr/lib/python3/dist-packages/diffoscope/comparators/utils/container.py", 
line 197, in compare_pair
difference = compare_files(
 ^^
  File 
"/usr/lib/python3/dist-packages/diffoscope/comparators/utils/compare.py", line 
149, in compare_files
return file1.compare(file2, source)
   
  File "/usr/lib/python3/dist-packages/diffoscope/comparators/utils/file.py", 
line 532, in compare
difference = self._compare_using_details(other, source)
 ^^
  File "/usr/lib/python3/dist-packages/diffoscope/comparators/utils/file.py", 
line 467, in _compare_using_details
details.extend(
  File 
"/usr/lib/python3/dist-packages/diffoscope/comparators/utils/container.py", 
line 197, in compare_pair
difference = compare_files(
 ^^
  File 
"/usr/lib/python3/dist-packages/diffoscope/comparators/utils/compare.py", line 
149, in compare_files
return file1.compare(file2, source)
   
  File "/usr/lib/python3/dist-packages/diffoscope/comparators/utils/file.py", 
line 532, in compare
difference = self._compare_using_details(other, source)
 ^^
  File "/usr/lib/python3/dist-packages/diffoscope/comparators/utils/file.py", 
line 433, in _compare_using_details
details.extend(self.compare_details(other, source))
   ^^^
  File "/usr/lib/python3/dist-packages/diffoscope/comparators/rdata.py", line 
166, in