[Top][All Lists]

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

[Fwd: libtool: SIGSEGV with ltdl.c (tryall_dlopen_module)]

From: Scott James Remnant
Subject: [Fwd: libtool: SIGSEGV with ltdl.c (tryall_dlopen_module)]
Date: 15 Dec 2002 16:45:27 +0000

And here's another one,

This is actually two "problems" he's fixing, the first of which
definitely looks like a good fix -- the second of which (the third hunk
of the patch) I'm not sure about, and the third (the fourth hunk) he
doesn't even know why he's including!

Ossama, the old maintainer, was going to send this patch upstream in its
entirity -- I don't think he ever go the time though :(

Date: Wed, 17 Jul 2002 01:24:05 +0200
From: Denis Barbier <address@hidden>
To: Debian Bug Tracking System <address@hidden>
Subject: libtool: SIGSEGV with ltdl.c (tryall_dlopen_module)

Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline

Package: libtool
Version: 1.4.2-7
Severity: normal
Tags: patch


when trying to add plug-ins machinery into one of my programs, I
encountered several problems with ltdl.c:
  * A SIGSEGV occurs in tryall_dlopen_module when dirname is null.
    (chunks 1 and 2 of attached patch)
  * In try_dlopen, there is no reason to search for files in the
    current directory, one may set any search path if needed.
    Moreover it is not documented this way in info files.
    (chunk 3)
  * I cannot exactly remember why I needed chunk 4, but I did.
    And fixed test is then in accord with preceding comment.
    Let me know if you need further details here.


-- System Information:
Debian Release: 3.0
Architecture: i386
Kernel: Linux france0danemark2 2.4.18-386 #2 Sun Apr 14 10:38:08 EST 2002 i586

Versions of packages libtool depends on:
ii  altgcc [c-compiler]        1:   Alternate gcc package for the libc
ii  autotools-dev              20020621.1    Update infrastructure for config.{
ii  cpp                        2:2.95.4-15   The GNU C preprocessor.
ii  file                       3.37-3.1      Determines file type using "magic"
ii  gcc [c-compiler]           2:2.95.4-15   The GNU C compiler.
ii  gcc-2.95 [c-compiler]      1:2.95.4-10   The GNU C compiler.
ii  gcc-3.0 [c-compiler]       1:3.0.4-10    The GNU C compiler.
ii  gcc-3.1 [c-compiler]       1:3.1.1-0pre3 The GNU C compiler.
ii  libc6-dev [libc-dev]       2.2.5-11      GNU C Library: Development Librari

-- no debconf information

Content-Type: text/plain; charset=us-ascii
Content-Disposition: attachment; filename="ltdl.c.patch"

--- /usr/share/libtool/libltdl/ltdl.c.orig      Tue Jul  2 19:12:16 2002
+++ /usr/share/libtool/libltdl/ltdl.c   Fri Jul  5 22:29:28 2002
@@ -2034,7 +2034,7 @@

       /* try to open the not-installed module */
-      if (!installed)
+      if (!installed && objdir)
          if (tryall_dlopen_module (handle, dir, objdir, dlname) == 0)
            return 0;
@@ -2042,7 +2042,7 @@

       /* maybe it was moved to another directory */
-         if (tryall_dlopen_module (handle,
+         if (dir && tryall_dlopen_module (handle,
                                    (const char *) 0, dir, dlname) == 0)
            return 0;
@@ -2688,10 +2688,6 @@
-      if (!file)
-       {
-         file = fopen (filename, LT_READTEXT_MODE);
-       }

       /* If we didn't find the file by now, it really isn't there.  Set
         the status flag, and bail out.  */
@@ -2987,7 +2983,7 @@
      failed, it is better to return an error message here than to
      report FILE_NOT_FOUND when the alternatives ( etc) are not
      in the module search path.  */
-  if (handle || ((errors > 0) && file_not_found ()))
+  if (handle || ((errors > 0) && !file_not_found ()))
       LT_DLFREE (tmp);
       return handle;


Scott James Remnant     Have you ever, ever felt like this?  Had strange      things happen?  Are you going round the twist?

Attachment: signature.asc
Description: This is a digitally signed message part

reply via email to

[Prev in Thread] Current Thread [Next in Thread]