[LEDE-DEV] [PATCH 1/2] mount: improve handling mounts table size

Rafał Miłecki zajec5 at gmail.com
Thu Feb 8 05:50:19 PST 2018


From: Rafał Miłecki <rafal at milecki.pl>

This is static array with a size set to MAX_MOUNTED. Old code:
1) Was never using the last table entry/row
2) Was logging the same message for every mount entry above limit

This fixes off-by-one, moves limit check to the proper place and uses
"break" when needed.

Signed-off-by: Rafał Miłecki <rafal at milecki.pl>
---
 mount.c | 12 ++++++++----
 1 file changed, 8 insertions(+), 4 deletions(-)

diff --git a/mount.c b/mount.c
index db77f10..9cb1a43 100644
--- a/mount.c
+++ b/mount.c
@@ -626,6 +626,12 @@ static void mount_check_mount_list(void)
 	while(fgets(tmp, 256, fp) != NULL)
 	{
 		char *t, *t2;
+
+		if (mounted_count + 1 > MAX_MOUNTED) {
+			log_printf("found more than %d mounts \n", MAX_MOUNTED);
+			break;
+		}
+
 		t = strstr(tmp, " ");
 		if(t)
 		{
@@ -651,10 +657,8 @@ static void mount_check_mount_list(void)
 			mounted[mounted_count][0],
 			mounted[mounted_count][1],
 			mounted[mounted_count][2]);*/
-		if(mounted_count < MAX_MOUNTED - 1)
-			mounted_count++;
-		else
-			log_printf("found more than %d mounts \n", MAX_MOUNTED);
+
+		mounted_count++;
 	}
 	fclose(fp);
 }
-- 
2.11.0




More information about the Lede-dev mailing list