]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
* name-finder.cc (lookup): Ignore a null dli_fname from d
authorBryce McKinlay <bryce@waitaki.otago.ac.nz>
Sun, 26 Aug 2001 10:09:59 +0000 (10:09 +0000)
committerBryce McKinlay <bryce@gcc.gnu.org>
Sun, 26 Aug 2001 10:09:59 +0000 (11:09 +0100)
From-SVN: r45181

libjava/ChangeLog
libjava/name-finder.cc

index a058e68eb7fcec154046b356fb8cacdbacaa470c..03e66b583a01ef1bb99b6facb3f140999cb08862 100644 (file)
@@ -1,3 +1,7 @@
+2001-08-26  Bryce McKinlay  <bryce@waitaki.otago.ac.nz>
+
+       * name-finder.cc (lookup): Ignore a null dli_fname from dladdr.
+
 2001-08-23  Tom Tromey  <tromey@redhat.com>
 
        * java/lang/reflect/Field.java (toString): Use
index 3baa6e3c6bf5e1c2395c31b524b79f518f66134b..1533e0858d23b1df4e52f2ba1c9628e876da90a7 100644 (file)
@@ -145,11 +145,13 @@ _Jv_name_finder::lookup (void *p)
     
     if (dladdr (p, &dl_info))
       {
-       strncpy (file_name, dl_info.dli_fname, sizeof file_name);
+        if (dl_info.dli_fname)
+         strncpy (file_name, dl_info.dli_fname, sizeof file_name);
        strncpy (method_name, dl_info.dli_sname, sizeof method_name);
        
        /* Don't trust dladdr() if the address is from the main program. */
-       if (_Jv_argv == NULL || strcmp (file_name, _Jv_argv[0]) != 0)
+       if (dl_info.dli_fname != NULL
+          && (_Jv_argv == NULL || strcmp (file_name, _Jv_argv[0]) != 0))
          return true;
       }
   }