Greg Ward avatar Greg Ward committed 498a6db

fossil: fix potential use of uninitialized string.

If 'fossil status' forgets to print a newline after "tags:", then
get_till_eol() would simply not bother to copy any bytes into dest,
which is an uninitialized char array (random junk). Fix by always
terminating dest -- make it an empty string if no newline in src.

Comments (0)

Files changed (1)

     return isfile("_FOSSIL_");
 }
 
-char *
+void
 get_till_eol(char *dest, const char *src, int n)
 {
     char *last = strchr(src, '\n');
         int m = (last - src < n ? last - src : n);
         strncpy(dest, src, m);
         dest[m] = '\0';
-        return dest;
     }
     else {
-        return NULL;
+        // make sure caller doesn't use an uninitialized string
+        dest[0] = '\0';
     }
 }
 
Tip: Filter by directory path e.g. /media app.js to search for public/media/app.js.
Tip: Use camelCasing e.g. ProjME to search for ProjectModifiedEvent.java.
Tip: Filter by extension type e.g. /repo .js to search for all .js files in the /repo directory.
Tip: Separate your search with spaces e.g. /ssh pom.xml to search for src/ssh/pom.xml.
Tip: Use ↑ and ↓ arrow keys to navigate and return to view the file.
Tip: You can also navigate files with Ctrl+j (next) and Ctrl+k (previous) and view the file with Ctrl+o.
Tip: You can also navigate files with Alt+j (next) and Alt+k (previous) and view the file with Alt+o.