aboutsummaryrefslogtreecommitdiff
path: root/libjava
diff options
context:
space:
mode:
authorBryce McKinlay <bryce@waitaki.otago.ac.nz>2001-08-26 10:09:59 +0000
committerBryce McKinlay <bryce@gcc.gnu.org>2001-08-26 11:09:59 +0100
commit387edc7625471683c0f26cdb3ecea436495ff4c1 (patch)
treecb09bf80a600702a9662a551edb1127054d3e992 /libjava
parent51c4678a03a515f875a1625d0b6ded86ae107edc (diff)
downloadgcc-387edc7625471683c0f26cdb3ecea436495ff4c1.zip
gcc-387edc7625471683c0f26cdb3ecea436495ff4c1.tar.gz
gcc-387edc7625471683c0f26cdb3ecea436495ff4c1.tar.bz2
* name-finder.cc (lookup): Ignore a null dli_fname from d
From-SVN: r45181
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 a058e68..03e66b5 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 3baa6e3..1533e08 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;
}
}