diff --git a/libjava/ChangeLog b/libjava/ChangeLog index 860b81d88e36e959ce31bf9920fd9a73df9b4afc..c3364d05e78a358452fc35a360413047164fe5aa 100644 --- a/libjava/ChangeLog +++ b/libjava/ChangeLog @@ -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. diff --git a/libjava/name-finder.cc b/libjava/name-finder.cc index 1533e0858d23b1df4e52f2ba1c9628e876da90a7..36726bd941aa4105f52d5696617df8ecf5d2abde 100644 --- a/libjava/name-finder.cc +++ b/libjava/name-finder.cc @@ -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; }