summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authornanbor <nanbor@ae88bc3d-4319-0410-8dbf-d08b4c9d3795>2002-08-23 02:33:09 +0000
committernanbor <nanbor@ae88bc3d-4319-0410-8dbf-d08b4c9d3795>2002-08-23 02:33:09 +0000
commit03398e656644b85d53f80ebd29b1b984927d8887 (patch)
tree4ee49d2df547b00ae1517c3313b6de83a7ad7473
parent262398c15521c4bdfada251d3f754f220a21951b (diff)
downloadATCD-03398e656644b85d53f80ebd29b1b984927d8887.tar.gz
ChangeLogTag:Thu Aug 22 21:27:56 2002 Nanbor Wang <nanbor@cs.wustl.edu>
-rw-r--r--ChangeLog6
-rw-r--r--ChangeLogs/ChangeLog-03a6
-rw-r--r--ace/OS_String.cpp14
3 files changed, 20 insertions, 6 deletions
diff --git a/ChangeLog b/ChangeLog
index 04f084c8af2..264142e74e9 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+Thu Aug 22 21:27:56 2002 Nanbor Wang <nanbor@cs.wustl.edu>
+
+ * ace/OS_String.cpp (strtok_r_emulation): Applied the patch Frank
+ Kuhlman <kuhlmann@materna.de> submitted in [Bug 1272] which
+ resolved a overrun error.
+
Thu Aug 22 21:20:01 2002 Krishnakumar B <kitty@cs.wustl.edu>
* include/makeinclude/rules.local.GNU (realclean.local):
diff --git a/ChangeLogs/ChangeLog-03a b/ChangeLogs/ChangeLog-03a
index 04f084c8af2..264142e74e9 100644
--- a/ChangeLogs/ChangeLog-03a
+++ b/ChangeLogs/ChangeLog-03a
@@ -1,3 +1,9 @@
+Thu Aug 22 21:27:56 2002 Nanbor Wang <nanbor@cs.wustl.edu>
+
+ * ace/OS_String.cpp (strtok_r_emulation): Applied the patch Frank
+ Kuhlman <kuhlmann@materna.de> submitted in [Bug 1272] which
+ resolved a overrun error.
+
Thu Aug 22 21:20:01 2002 Krishnakumar B <kitty@cs.wustl.edu>
* include/makeinclude/rules.local.GNU (realclean.local):
diff --git a/ace/OS_String.cpp b/ace/OS_String.cpp
index 25c127230b4..dbec79f470b 100644
--- a/ace/OS_String.cpp
+++ b/ace/OS_String.cpp
@@ -419,9 +419,10 @@ ACE_OS_String::strtok_r_emulation (char *s, const char *tokens, char **lasts)
if (s == 0)
return 0;
int l_sub = ACE_OS_String::strlen (s);
- *lasts = s + l_sub;
- if (l_sub != l_org)
- *lasts += 1;
+ if (s + l_sub < *lasts + l_org)
+ *lasts = s + l_sub + 1;
+ else
+ *lasts = s + l_sub;
return s ;
}
#endif /* !ACE_HAS_REENTRANT_FUNCTIONS */
@@ -441,9 +442,10 @@ ACE_OS_String::strtok_r_emulation (ACE_WCHAR_T *s, const ACE_WCHAR_T *tokens, AC
if (s == 0)
return 0;
int l_sub = ACE_OS_String::strlen (s);
- *lasts = s + l_sub;
- if (l_sub != l_org)
- *lasts += 1;
+ if (s + l_sub < *lasts + l_org)
+ *lasts = s + l_sub + 1;
+ else
+ *lasts = s + l_sub;
return s ;
}
# endif /* ACE_HAS_WCHAR && ACE_LACKS_WCSTOK */