Browse Source

[parser] Don't crash for files that don't end in newlines (#3981)

The parser assumes all lines end in newlines, but sometimes this isn't
true. Check for a null terminator along with '\n' when stripping leading
spaces.
Peter0x44 1 year ago
parent
commit
bf5eecc71f
1 changed files with 1 additions and 1 deletions
  1. 1 1
      parser/raylib_parser.c

+ 1 - 1
parser/raylib_parser.c

@@ -1243,7 +1243,7 @@ static char **GetTextLines(const char *buffer, int length, int *linesCount)
         while ((bufferPtr[index] == ' ') || (bufferPtr[index] == '\t')) index++;
         while ((bufferPtr[index] == ' ') || (bufferPtr[index] == '\t')) index++;
 
 
         int j = 0;
         int j = 0;
-        while (bufferPtr[index + j] != '\n')
+        while (bufferPtr[index + j] != '\n' && bufferPtr[index + j] != '\0')
         {
         {
             lines[i][j] = bufferPtr[index + j];
             lines[i][j] = bufferPtr[index + j];
             j++;
             j++;