summaryrefslogtreecommitdiffstats
path: root/libjava
diff options
context:
space:
mode:
Diffstat (limited to 'libjava')
-rw-r--r--libjava/ChangeLog4
-rw-r--r--libjava/name-finder.cc6
2 files changed, 8 insertions, 2 deletions
diff --git a/libjava/ChangeLog b/libjava/ChangeLog
index a058e68eb7f..03e66b583a0 100644
--- a/libjava/ChangeLog
+++ b/libjava/ChangeLog
@@ -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
diff --git a/libjava/name-finder.cc b/libjava/name-finder.cc
index 3baa6e3c6bf..1533e0858d2 100644
--- a/libjava/name-finder.cc
+++ b/libjava/name-finder.cc
@@ -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;
}
}
OpenPOWER on IntegriCloud