I don't _think_ that can happen with the .dep files since they're
machine-generated, but the config files can and do contain empty lines
to aid readability.

(Not found on Android, so I haven't tested this, but the code already
even contained a special case for empty lines. I haven't touched the
/proc/modules loop because the kernel definitely isn't going to insert
empty lines, and that code _would_ need to be modified to cope with
empty lines, and since I can't test this, that would be not just
pointless but also irresponsible!)
---
 toys/pending/modprobe.c | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)
From 62957a25e4506b93b8e21440999bd287a41260d0 Mon Sep 17 00:00:00 2001
From: Elliott Hughes <[email protected]>
Date: Fri, 14 May 2021 09:07:07 -0700
Subject: [PATCH] modprobe: don't stop on empty lines.

I don't _think_ that can happen with the .dep files since they're
machine-generated, but the config files can and do contain empty lines
to aid readability.

(Not found on Android, so I haven't tested this, but the code already
even contained a special case for empty lines. I haven't touched the
/proc/modules loop because the kernel definitely isn't going to insert
empty lines, and that code _would_ need to be modified to cope with
empty lines, and since I can't test this, that would be not just
pointless but also irresponsible!)
---
 toys/pending/modprobe.c | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/toys/pending/modprobe.c b/toys/pending/modprobe.c
index 7424e7c0..f1c4338e 100644
--- a/toys/pending/modprobe.c
+++ b/toys/pending/modprobe.c
@@ -224,7 +224,7 @@ static int config_action(struct dirtree *node)
     free(filename);
     return 0;
   }
-  for (line = linecp = NULL; read_line(fc, &line) > 0; 
+  for (line = linecp = NULL; read_line(fc, &line) >= 0;
       free(line), free(linecp), line = linecp = NULL) {
     char *tk = NULL;
 
@@ -286,7 +286,7 @@ static int depmode_read_entry(char *cmdname)
   int ret = -1;
   FILE *fe = xfopen("modules.dep", "r");
 
-  while (read_line(fe, &line) > 0) {
+  while (read_line(fe, &line) >= 0) {
     char *tmp = strchr(line, ':');
 
     if (tmp) {
@@ -314,7 +314,7 @@ static void find_dep(void)
   struct module_s *mod;
   FILE *fe = xfopen("modules.dep", "r");
 
-  for (; read_line(fe, &line) > 0; free(line)) {
+  for (; read_line(fe, &line) >= 0; free(line)) {
     char *tmp = strchr(line, ':');
 
     if (tmp) {
-- 
2.31.1.751.gd2f1c929bd-goog

_______________________________________________
Toybox mailing list
[email protected]
http://lists.landley.net/listinfo.cgi/toybox-landley.net

Reply via email to