Fixed buffer underflow in trimend
authorLukas Krickl <lukas@krickl.dev>
Tue, 19 Dec 2023 14:34:30 +0000 (15:34 +0100)
committerLukas Krickl <lukas@krickl.dev>
Tue, 19 Dec 2023 14:34:30 +0000 (15:34 +0100)
src/ulas.c

index d69f2e408d221d4eb3f854486538644666c02751..f516a27f05258a796ef069dfaf53be21e92f083f 100644 (file)
@@ -682,6 +682,9 @@ int ulas_preproclws(struct ulas_preproc *pp, const char *praw_line,
 
 void ulas_trimend(char c, char *buf, unsigned long n) {
   unsigned long buflen = strnlen(buf, n);
+  if (buflen == 0) {
+    return;
+  }
   // remove trailing new line if present
   while (buf[buflen - 1] == '\n') {
     buf[buflen - 1] = '\0';