summaryrefslogtreecommitdiffhomepage
path: root/src/text.c
diff options
context:
space:
mode:
authorRay <[email protected]>2019-08-19 15:09:54 +0200
committerRay <[email protected]>2019-08-19 15:09:54 +0200
commit2f42b0ce857ff07ad8a9b50e1a2c24bf0d8bf3c1 (patch)
tree14fa866df119101993cfe90cc0676e72864a8ecc /src/text.c
parent12bcdb977a15a4db933765b3cf4af205a492c8b2 (diff)
downloadraylib-2f42b0ce857ff07ad8a9b50e1a2c24bf0d8bf3c1.tar.gz
raylib-2f42b0ce857ff07ad8a9b50e1a2c24bf0d8bf3c1.zip
REVIEW: TextSplit()
Just adding a security check
Diffstat (limited to 'src/text.c')
-rw-r--r--src/text.c27
1 files changed, 16 insertions, 11 deletions
diff --git a/src/text.c b/src/text.c
index 1c775c8d..79e46d0c 100644
--- a/src/text.c
+++ b/src/text.c
@@ -1372,20 +1372,25 @@ const char **TextSplit(const char *text, char delimiter, int *count)
memset(buffer, 0, MAX_TEXT_BUFFER_LENGTH);
result[0] = buffer;
- int counter = 1;
-
- // Count how many substrings we have on text and point to every one
- for (int i = 0; i < MAX_TEXT_BUFFER_LENGTH; i++)
+ int counter = 0;
+
+ if (text != NULL)
{
- buffer[i] = text[i];
- if (buffer[i] == '\0') break;
- else if (buffer[i] == delimiter)
+ counter = 1;
+
+ // Count how many substrings we have on text and point to every one
+ for (int i = 0; i < MAX_TEXT_BUFFER_LENGTH; i++)
{
- buffer[i] = '\0'; // Set an end of string at this point
- result[counter] = buffer + i + 1;
- counter++;
+ buffer[i] = text[i];
+ if (buffer[i] == '\0') break;
+ else if (buffer[i] == delimiter)
+ {
+ buffer[i] = '\0'; // Set an end of string at this point
+ result[counter] = buffer + i + 1;
+ counter++;
- if (counter == MAX_SUBSTRINGS_COUNT) break;
+ if (counter == MAX_SUBSTRINGS_COUNT) break;
+ }
}
}