aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDag-Erling Smørgrav <des@FreeBSD.org>2026-02-24 14:23:39 +0000
committerDag-Erling Smørgrav <des@FreeBSD.org>2026-02-24 14:25:57 +0000
commit6c4777c59325c2cfefcce0c466b3bf475404a550 (patch)
tree5713dfc9cc8c3342d11ef548efb443ca8de43ea9
parentb7ef4f4b230f01968473269f280bd7e4e86a3ec9 (diff)
ngctl: Fix getline loop
I misremembered when I wrote this code: getline() returns -1 on EOF, not zero, so the loop condition and the error check are both incorrect (though in practice getline() will never return 0). MFC after: 3 days Fixes: 3cbdcabf714d ("ngctl: Modernize code somewhat") Reviewed by: markj Differential Revision: https://reviews.freebsd.org/D55487
-rw-r--r--usr.sbin/ngctl/main.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/usr.sbin/ngctl/main.c b/usr.sbin/ngctl/main.c
index b58de1e042b3..2b711fd4155a 100644
--- a/usr.sbin/ngctl/main.c
+++ b/usr.sbin/ngctl/main.c
@@ -243,7 +243,7 @@ ReadFile(FILE *fp)
unsigned int lineno = 0;
int rtn = CMDRTN_OK;
- while ((len = getline(&line, &sz, fp)) > 0) {
+ while ((len = getline(&line, &sz, fp)) >= 0) {
lineno++;
if (*line == '#')
continue;
@@ -252,7 +252,7 @@ ReadFile(FILE *fp)
break;
}
}
- if (len < 0)
+ if (ferror(fp))
rtn = CMDRTN_ERROR;
free(line);
return (rtn);