aboutsummaryrefslogtreecommitdiff
path: root/libjava
diff options
context:
space:
mode:
authorArchit Shah <ashah@redhat.com>2006-01-24 18:10:39 +0000
committerTom Tromey <tromey@gcc.gnu.org>2006-01-24 18:10:39 +0000
commit38fd6679a33ecd336bc21027821e4e0b9fb0363a (patch)
tree99f1f68a7dd57875c96e86aac01ebb29de93908d /libjava
parentc41303c6819e0699b032922bd7a14ebfe3a45b14 (diff)
downloadgcc-38fd6679a33ecd336bc21027821e4e0b9fb0363a.zip
gcc-38fd6679a33ecd336bc21027821e4e0b9fb0363a.tar.gz
gcc-38fd6679a33ecd336bc21027821e4e0b9fb0363a.tar.bz2
prims.cc (next_property_value): Never return NULL.
* prims.cc (next_property_value): Never return NULL. (process_gcj_properties): Copy 'props' before using it. Co-Authored-By: Tom Tromey <tromey@redhat.com> From-SVN: r110177
Diffstat (limited to 'libjava')
-rw-r--r--libjava/ChangeLog6
-rw-r--r--libjava/prims.cc15
2 files changed, 14 insertions, 7 deletions
diff --git a/libjava/ChangeLog b/libjava/ChangeLog
index d13425b..a2357c3 100644
--- a/libjava/ChangeLog
+++ b/libjava/ChangeLog
@@ -1,3 +1,9 @@
+2006-01-24 Archit Shah <ashah@redhat.com>
+ Tom Tromey <tromey@redhat.com>
+
+ * prims.cc (next_property_value): Never return NULL.
+ (process_gcj_properties): Copy 'props' before using it.
+
2006-01-23 Keith Seitz <keiths@redhat.com>
* java/lang/Class.h (_Jv_FindInterpreterMethod): Add new declaration.
diff --git a/libjava/prims.cc b/libjava/prims.cc
index 09bca0b..a968a9b 100644
--- a/libjava/prims.cc
+++ b/libjava/prims.cc
@@ -857,10 +857,6 @@ next_property_value (char *s, size_t *length)
while (isspace (*s))
s++;
- // If we've reached the end, return NULL.
- if (*s == 0)
- return NULL;
-
// Determine the length of the property value.
while (s[l] != 0
&& ! isspace (s[l])
@@ -883,13 +879,18 @@ static void
process_gcj_properties ()
{
char *props = getenv("GCJ_PROPERTIES");
- char *p = props;
- size_t length;
- size_t property_count = 0;
if (NULL == props)
return;
+ // Later on we will write \0s into this string. It is simplest to
+ // just duplicate it here.
+ props = strdup (props);
+
+ char *p = props;
+ size_t length;
+ size_t property_count = 0;
+
// Whip through props quickly in order to count the number of
// property values.
while (p && (p = next_property_key (p, &length)))