From 37a41235c9e3f31c283162c92d5348d8c2d8e821 Mon Sep 17 00:00:00 2001 From: "warren%netscape.com" Date: Sat, 6 Feb 1999 04:22:43 +0000 Subject: [PATCH] Added assertion --- base/src/nsCRT.cpp | 7 ++++--- xpcom/ds/nsCRT.cpp | 7 ++++--- 2 files changed, 8 insertions(+), 6 deletions(-) diff --git a/base/src/nsCRT.cpp b/base/src/nsCRT.cpp index 2518c8e0a25..a3462df90a4 100644 --- a/base/src/nsCRT.cpp +++ b/base/src/nsCRT.cpp @@ -156,9 +156,10 @@ char* nsCRT::strtok(char* str, const char* delims, char* *newStr) for (i = 0; i < DELIM_TABLE_SIZE; i++) delimTable[i] = '\0'; - do { - SET_DELIM(delimTable, *delims); - } while (*delims++); + for (i = 0; i < DELIM_TABLE_SIZE && delims[i]; i++) { + SET_DELIM(delimTable, delims[i]); + } + NS_ASSERTION(delims[i] == '\0', "too many delimiters"); // skip to beginning while (*str && IS_DELIM(delimTable, *str)) { diff --git a/xpcom/ds/nsCRT.cpp b/xpcom/ds/nsCRT.cpp index 2518c8e0a25..a3462df90a4 100644 --- a/xpcom/ds/nsCRT.cpp +++ b/xpcom/ds/nsCRT.cpp @@ -156,9 +156,10 @@ char* nsCRT::strtok(char* str, const char* delims, char* *newStr) for (i = 0; i < DELIM_TABLE_SIZE; i++) delimTable[i] = '\0'; - do { - SET_DELIM(delimTable, *delims); - } while (*delims++); + for (i = 0; i < DELIM_TABLE_SIZE && delims[i]; i++) { + SET_DELIM(delimTable, delims[i]); + } + NS_ASSERTION(delims[i] == '\0', "too many delimiters"); // skip to beginning while (*str && IS_DELIM(delimTable, *str)) {