libcdio-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Libcdio-devel] [PATCH 2/2] Add processing of Rock Ridge CE records


From: Thomas Schmitt
Subject: Re: [Libcdio-devel] [PATCH 2/2] Add processing of Rock Ridge CE records
Date: Wed, 01 Mar 2023 00:12:06 +0100

Hi,

it comes to me that interpretation of CE needs a safety net against
endless loops.

I recently participated as instigator and reviewer in the implementation
of such a loop breaker in GRUB. It was committed together with a bug fix
as
  
https://git.savannah.gnu.org/cgit/grub.git/commit/?id=2a96eab759aff74c2a214da66eefeb1e770c0820
(actually submitted by Lidong Chen, not by me).

Adapted to libcdio this would mean to have a local variable "ce_counter",
a limit (GRUB and libisofs have 100000, Linux has 31), and a test
in the SIG('C','E')-case which bails out if the incremented ce_counter
exceeds the limit.

I demonstrated the CE-loop problem by a killer ISO which is now part of
GRUB's test suite:
  https://git.savannah.gnu.org/cgit/grub.git/tree/tests/iso9660_ce_loop.iso.gz
(897 bytes which inflate to 128 KiB of iso9660_ce_loop.iso)


Have a nice day :)

Thomas




reply via email to

[Prev in Thread] Current Thread [Next in Thread]