diff options
| author | 2020-02-02 17:25:47 +0530 | |
|---|---|---|
| committer | 2020-02-02 17:25:47 +0530 | |
| commit | 06f6435ebdf6b426598aa395c60ed37c9c2a8419 (patch) | |
| tree | cba0961e5527f204ae7eb0deac772d0eebafe410 | |
| parent | 47a2f93e02500de446c4600e866348172472d0e0 (diff) | |
| download | nnn-06f6435ebdf6b426598aa395c60ed37c9c2a8419.tar.gz | |
Fix build break
| -rw-r--r-- | src/nnn.c | 23 |
1 files changed, 16 insertions, 7 deletions
@@ -6178,12 +6178,12 @@ static char *load_input() break; if (chunk_count == 512 || !(input = xrealloc(input, (chunk_count + 1) * chunk))) - goto malloc_2; + goto malloc_1; } if (off != total_read) { if (entries == (1 << 16)) - goto malloc_2; + goto malloc_1; paths[entries++] = input + off; } @@ -6195,16 +6195,25 @@ static char *load_input() g_prefixpath = malloc(sizeof(char) * PATH_MAX); if (!g_prefixpath) - goto malloc_2; + goto malloc_1; if (!(paths[0] = xrealpath(paths[0], cwd))) - goto malloc_2; // free all entries + goto malloc_1; // free all entries xstrlcpy(g_prefixpath, paths[0], strlen(paths[0]) + 1); - for (i = 1; i < entries; ++i) - if (!(paths[i] = xrealpath(paths[i], cwd)) || !common_prefix(paths[i], g_prefixpath)) - goto malloc_2; // free all entries + for (i = 1; i < entries; ++i) { + if (!(paths[i] = xrealpath(paths[i], cwd))) { + entries = i; // free from the previous entry + goto malloc_2; + + } + + if (!common_prefix(paths[i], g_prefixpath)) { + entries = i + 1; // free from the current entry + goto malloc_2; + } + } if (entries == 1) { tmp = xmemrchr((uchar *)g_prefixpath, '/', strlen(g_prefixpath)); |