libtool-patches
[Top][All Lists]
Advanced

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

FYI: dlinterface breakage (was: cygwin dlopening backends)


From: Ralf Wildenhues
Subject: FYI: dlinterface breakage (was: cygwin dlopening backends)
Date: Sun, 13 Nov 2005 23:09:30 +0100
User-agent: Mutt/1.5.9i

Hi Eric,

Factoring out some of the fallout now:

* Eric Blake wrote on Sun, Nov 13, 2005 at 05:50:31AM CET:
> 
> This made me realize that there is another problem with 
> lt_dlinterface_register:
> 
> 2005-10-26  Eric Blake  <address@hidden>
> 
>       * libltdl/ltdl.c (lt_dlinterface_register): Fail if lt__strdup did.

I have applied this patch to HEAD.

Cheers,
Ralf

2005-11-13  Eric Blake  <address@hidden>

        * libltdl/ltdl.c (lt_dlhandle_iterate): Fix endless loop.
        (lt_dlinterface_register): Fail if lt__strdup did.

Index: libltdl/ltdl.c
===================================================================
RCS file: /cvsroot/libtool/libtool/libltdl/ltdl.c,v
retrieving revision 1.236
diff -u -r1.236 ltdl.c
--- libltdl/ltdl.c      26 Oct 2005 10:26:48 -0000      1.236
+++ libltdl/ltdl.c      13 Nov 2005 21:57:59 -0000
@@ -2027,7 +2027,10 @@
   if (interface_id)
     {
       interface_id->id_string = lt__strdup (id_string);
-      interface_id->iface = iface;
+      if (!interface_id->id_string)
+       FREE (interface_id);
+      else
+       interface_id->iface = iface;
     }
 
   return (lt_dlinterface_id) interface_id;
@@ -2125,6 +2128,8 @@
 
   if (!handle)
     handle = (lt__handle *) handles;
+  else
+    handle = handle->next;
 
   /* advance while the interface check fails */
   while (handle && iterator->iface




reply via email to

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