]> err.no Git - dpkg/commitdiff
Avoid failing on invalid symlinks looking like a library.
authorRaphael Hertzog <hertzog@debian.org>
Fri, 3 Aug 2007 14:26:46 +0000 (16:26 +0200)
committerRaphael Hertzog <hertzog@debian.org>
Fri, 3 Aug 2007 14:26:46 +0000 (16:26 +0200)
Do this by adding a check to restrict the scan to plain files only.

scripts/dpkg-gensymbols.pl

index 321def83e06602a0d1622e02ca37c2b503619bfb..6173ce269c0d6201dd195d75b7e9911d7a393700 100755 (executable)
@@ -148,7 +148,7 @@ if (not scalar @files) {
        opendir(DIR, "$libdir") ||
            syserr(sprintf(_g("Can't read directory %s: %s"), $libdir, $!));
        push @files, grep {
-           /(\.so\.|\.so$)/ &&
+           /(\.so\.|\.so$)/ && -f $_ &&
            Dpkg::Shlibs::Objdump::is_elf($_);
        } map { "$libdir/$_" } readdir(DIR);
        close(DIR);
@@ -160,7 +160,7 @@ my $od = Dpkg::Shlibs::Objdump->new();
 foreach my $file (@files) {
     print "Scanning $file for symbol information\n" if $debug;
     my $objid = $od->parse($file);
-    unless (defined($objid)) {
+    unless (defined($objid) && $objid) {
        warning(sprintf(_g("Objdump couldn't parse %s\n"), $file));
        next;
     }