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

Re: Broken code in checks/binaries



On Mon, May 19, 2008 at 06:45:52PM -0700, Russ Allbery wrote:
> Frank Lichtenheld <djpig@debian.org> writes:
> > checks/binaries contains the following piece of code:
> > 127 sub lib_soname_path {
> > 128    my (@paths) = @_;
> > 129    foreach my $path (@paths) {
> > 130	return 1 if $path =~ m%^(\.?/)?lib/[^/]+$%;
> > 131	return 1 if $path =~ m%^(\.?/)?usr/lib/[^/]+$%;
> > 132	return 1 if $path =~ m%^(\.?/)?usr/X11R6/lib/[^/]+$%;
> > 133	return 1 if $path =~ m%^(\.?/)?lib/libnss_[^.]+\.so(\.[0-9]+)$%;
> > 134    }
> > 135    return 0;
> > 136 }
> >
> > Obviously line 133 is never reached because 131 already matches such
> > paths.  And return 1 seems to be wrong thing to do for line 133
> > anyway. What is line 133 supposed to do?
> 
> return 0 and be above all of the rest, I think.  Good catch.  I wonder

Not "next" instead of "return"?

> what I was thinking there.  The goal is to not require NSS modules to have
> SONAMEs or shlibs, since they're weird special cases.

Gruesse,
-- 
Frank Lichtenheld <djpig@debian.org>
www: http://www.djpig.de/


Reply to: