If I read this patch correctly, a change like this was already made Wed, 25 Jun 2008 07 and is part of the 0.81 release. See:
http://git.savannah.gnu.org/gitweb/?p=libcdio.git;a=commitdiff;h=9c32ef00a00642c55dd20cfecd654616021b2f48 which has a the commit entry: sprintf's to snprintf's and check the return. Turn check1list and check2list looping into a fixed constant number of iterations rather than rely on a sentinal [sic]. As for help2man, I vaguely recall Yaakov Selkowitz mentioning something about this and/or some patches that have been applied since 0.81 that may alleviate some of the problem. Thanks for handling libcdio packaging on Fedora. On Tue, Dec 30, 2008 at 7:46 AM, Adrian Reber <[email protected]> wrote: > Hi, > > I am maintaining the libcdio RPM for Fedora and while trying to update > to 0.81 I discovered an error which makes it impossible to build it. > > The Fedora buildsystem is a minimal buildroot with no cdrom devices and > the build process goes into an endless loop because it cannot detect any > cdroms and when help2man tries to generate the manpages one of tools > (don't know which one anymore) does never end. > > Following patch fixes it for me: > > diff --git a/lib/driver/gnu_linux.c b/lib/driver/gnu_linux.c > index 7e2f3c4..092af0d 100644 > --- a/lib/driver/gnu_linux.c > +++ b/lib/driver/gnu_linux.c > @@ -1448,7 +1448,7 @@ cdio_get_default_device_linux(void) > /* Scan the system for CD-ROM drives. > Not always 100% reliable, so use the USE_MNTENT code above first. > */ > - for ( i=0; checklist2[i].format; ++i ) { > + for ( i=0; i < checklist2_size; ++i ) { > unsigned int j; > for ( j=checklist2[i].num_min; j<=checklist2[i].num_max; ++j ) { > if (snprintf(drive, sizeof(drive), checklist2[i].format, j) < 0) > > It seems this code part still looks for an empty element at the end of > the checklist2 array which does not exist anymore. > > If there is not something really wrong with my patch I will apply it for > the Fedora libcdio 0.81 package. > > Adrian > > >
