summaryrefslogtreecommitdiff
path: root/libjava/name-finder.cc
diff options
context:
space:
mode:
authorbryce <bryce@138bc75d-0d04-0410-961f-82ee72b054a4>2001-08-26 10:09:59 +0000
committerbryce <bryce@138bc75d-0d04-0410-961f-82ee72b054a4>2001-08-26 10:09:59 +0000
commit2f3ed0b75a408d2506f6a71df1a52162a05621e3 (patch)
treecb09bf80a600702a9662a551edb1127054d3e992 /libjava/name-finder.cc
parent0721fdc56083c86f00e67c889aeabc8245428d71 (diff)
downloadgcc-2f3ed0b75a408d2506f6a71df1a52162a05621e3.tar.gz
* name-finder.cc (lookup): Ignore a null dli_fname from d
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@45181 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'libjava/name-finder.cc')
-rw-r--r--libjava/name-finder.cc6
1 files changed, 4 insertions, 2 deletions
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;
}
}