* name-finder.cc (_Jv_name_finder::lookup): Check for NULL dli_sname.
authorBryce McKinlay <bryce@waitaki.otago.ac.nz>
Tue, 16 Oct 2001 07:36:12 +0000 (07:36 +0000)
committerBryce McKinlay <bryce@gcc.gnu.org>
Tue, 16 Oct 2001 07:36:12 +0000 (08:36 +0100)
From-SVN: r46280

libjava/ChangeLog
libjava/name-finder.cc

index 860b81d88e36e959ce31bf9920fd9a73df9b4afc..c3364d05e78a358452fc35a360413047164fe5aa 100644 (file)
@@ -1,3 +1,7 @@
+2001-10-16  Bryce McKinlay  <bryce@waitaki.otago.ac.nz>
+
+       * name-finder.cc (_Jv_name_finder::lookup): Check for NULL dli_sname.
+
 2001-10-15  Bryce McKinlay  <bryce@waitaki.otago.ac.nz>
 
        * java/util/HashMap.java (HashEntry.clone): Removed.
index 1533e0858d23b1df4e52f2ba1c9628e876da90a7..36726bd941aa4105f52d5696617df8ecf5d2abde 100644 (file)
@@ -147,10 +147,12 @@ _Jv_name_finder::lookup (void *p)
       {
         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);
+       if (dl_info.dli_sname)
+         strncpy (method_name, dl_info.dli_sname, sizeof method_name);
        
        /* Don't trust dladdr() if the address is from the main program. */
        if (dl_info.dli_fname != NULL
+           && dl_info.dli_sname != NULL
           && (_Jv_argv == NULL || strcmp (file_name, _Jv_argv[0]) != 0))
          return true;
       }