Bug#758216: libmusicbrainz-discid-perl: FTBFS: *** stack smashing detected *** during tests
Aurelien Jarno
aurel32 at debian.org
Tue Aug 19 13:26:40 UTC 2014
Control: tag -1 + patch
On Mon, Aug 18, 2014 at 02:00:37PM +0300, Damyan Ivanov wrote:
> -=| Damyan Ivanov, 15.08.2014 16:06:45 +0300 |=-
> > Package: libmusicbrainz-discid-perl
> > Version: 0.03-4
> > Severity: serious
> >
> > libmusicbrainz-discid-perl failed to build with today's round of binNMUs for
> > perl 5.20:
> >
> > Module::Build will be removed from the Perl core distribution in the next major release. Please install the separate libmodule-build-perl package. It is being used at Build, line 40.
> > t/00use.t ..... ok
> > t/05pod.t ..... ok
> > *** stack smashing detected ***: /usr/bin/perl terminated
> > ======= Backtrace: =========
> > /lib/s390x-linux-gnu/libc.so.6(+0x8787c)[0x3fffd31287c]
> > /lib/s390x-linux-gnu/libc.so.6(__fortify_fail+0x38)[0x3fffd399d70]
> > /lib/s390x-linux-gnu/libc.so.6(+0x10ed36)[0x3fffd399d36]
> > /«PKGBUILDDIR»/blib/arch/auto/MusicBrainz/DiscID/DiscID.so(+0x1946)[0x3fffd248946]
> > /usr/lib/s390x-linux-gnu/libperl.so.5.20(Perl_pp_entersub+0x5d4)[0x3fffd5e359c]
>
The problem is due to a silly typo, here is a patch to fix the issue:
--- a/lib/MusicBrainz/DiscID.xs
+++ b/lib/MusicBrainz/DiscID.xs
@@ -127,7 +127,7 @@ discid_put( disc, first_track, sectors,
PREINIT:
int i, last_track, offsets[100];
CODE:
- for (i=0;i<100;i++);
+ for (i=0;i<100;i++)
offsets[i] = 0;
for (i=3; i<items; i++) {
offsets[i-2] = (int)SvIV(ST(i));
The given the semi-colon after the for, the for loop is not executed.
Instead it is replaced by i=100. This means offset[100] is accessed,
which is bigger than the size of the array.
The problem is not new, and I guess it explain the testsuite failures
which happened depending on the compiler on mips/mipsel.
--
Aurelien Jarno GPG: 4096R/1DDD8C9B
aurelien at aurel32.net http://www.aurel32.net
More information about the pkg-perl-maintainers
mailing list