]> source.dussan.org Git - tigervnc.git/commitdiff
Handle empty lines in server history
authorPierre Ossman <ossman@cendio.se>
Thu, 23 Dec 2021 15:00:20 +0000 (16:00 +0100)
committerPierre Ossman <ossman@cendio.se>
Thu, 23 Dec 2021 15:00:20 +0000 (16:00 +0100)
vncviewer/ServerDialog.cxx

index 37fffc1c10d0d7720e2cb6f3a491b24c26829b48..f2f4113ac823f552fe0cb79f4625a7a14a1d4589 100644 (file)
@@ -349,22 +349,26 @@ void ServerDialog::loadServerHistory()
                       lineNr, filepath, strerror(errno));
     }
 
-    if (strlen(line) == (sizeof(line) - 1)) {
+    int len = strlen(line);
+
+    if (len == (sizeof(line) - 1)) {
       fclose(f);
       throw Exception(_("Failed to read line %d in file %s: %s"),
                       lineNr, filepath, _("Line too long"));
     }
 
-    int len = strlen(line);
-    if (line[len-1] == '\n') {
+    if ((len > 0) && (line[len-1] == '\n')) {
       line[len-1] = '\0';
       len--;
     }
-    if (line[len-1] == '\r') {
+    if ((len > 0) && (line[len-1] == '\r')) {
       line[len-1] = '\0';
       len--;
     }
 
+    if (len == 0)
+      continue;
+
     serverHistory.push_back(line);
   }