login

<     >

2018-09-24 19:19:52 (UTC-03:00)

Marcel Rodrigues <marcelgmr@gmail.com>

Fix memory errors when browsing empty directories.

diff --git a/rover.c b/rover.c
index 6db7dd9..7b92438 100644
--- a/rover.c
+++ b/rover.c
@@ -594,6 +594,10 @@ ls(Row **rowsp, uint8_t flags)
     if(!(dp = opendir("."))) return -1;
     n = -2; /* We don't want the entries "." and "..". */
     while (readdir(dp)) n++;
+    if (n == 0) {
+        closedir(dp);
+        return 0;
+    }
     rewinddir(dp);
     rows = malloc(n * sizeof *rows);
     i = 0;
@@ -1092,7 +1096,8 @@ main(int argc, char *argv[])
     init_marks(&rover.marks);
     cd(1);
     strcpy(CLIPBOARD, CWD);
-    strcat(CLIPBOARD, ENAME(ESEL));
+    if (rover.nfiles > 0)
+        strcat(CLIPBOARD, ENAME(ESEL));
     while (1) {
         ch = rover_getch();
         key = keyname(ch);