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

Re: Broken code in checks/binaries



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
what I was thinking there.  The goal is to not require NSS modules to have
SONAMEs or shlibs, since they're weird special cases.

-- 
Russ Allbery (rra@debian.org)               <http://www.eyrie.org/~eagle/>


Reply to: