]> source.dussan.org Git - tigervnc.git/commitdiff
Fix bad long line detection logic in config file parser
authorPierre Ossman <ossman@cendio.se>
Wed, 4 Mar 2015 08:53:16 +0000 (09:53 +0100)
committerPierre Ossman <ossman@cendio.se>
Wed, 4 Mar 2015 08:53:16 +0000 (09:53 +0100)
vncviewer/parameters.cxx

index 712a257ab3b0e31fe77e5b2e339fe5764eb74ea5..7a868c7cdb9481717676d73f6b4f94049764dbdb 100644 (file)
@@ -580,15 +580,16 @@ char* loadViewerParameters(const char *filename) {
     // Read the next line
     lineNr++;
     if (!fgets(line, sizeof(line), f)) {
-      if (line[sizeof(line) -1] != '\0')
-        throw Exception(_("Failed to read line %d in file %s: %s"),
-                        lineNr, filepath, _("Line too long"));
       if (feof(f))
         break;
 
       throw Exception(_("Failed to read line %d in file %s: %s"),
                       lineNr, filepath, strerror(errno));
     }
+
+    if (strlen(line) == (sizeof(line) - 1))
+      throw Exception(_("Failed to read line %d in file %s: %s"),
+                      lineNr, filepath, _("Line too long"));
     
     // Make sure that the first line of the file has the file identifier string
     if(lineNr == 1) {