فهرست منبع

mtd: fix wrong open() return code checks

SVN-Revision: 17666
Felix Fietkau 16 سال پیش
والد
کامیت
5b02773940
2فایلهای تغییر یافته به همراه9 افزوده شده و 9 حذف شده
  1. 3 3
      package/mtd/src/jffs2.c
  2. 6 6
      package/mtd/src/mtd.c

+ 3 - 3
package/mtd/src/jffs2.c

@@ -42,7 +42,7 @@ static int last_ino = 0;
 static int last_version = 0;
 static int last_version = 0;
 static char *buf = NULL;
 static char *buf = NULL;
 static int ofs = 0;
 static int ofs = 0;
-static int outfd = 0;
+static int outfd = -1;
 static int mtdofs = 0;
 static int mtdofs = 0;
 static int target_ino = 0;
 static int target_ino = 0;
 
 
@@ -186,7 +186,7 @@ static void add_file(const char *name, int parent)
 	ri.usercompr = 0;
 	ri.usercompr = 0;
 
 
 	fd = open(name, 0);
 	fd = open(name, 0);
-	if (fd <= 0) {
+	if (fd < 0) {
 		fprintf(stderr, "File %s does not exist\n", name);
 		fprintf(stderr, "File %s does not exist\n", name);
 		return;
 		return;
 	}
 	}
@@ -282,7 +282,7 @@ int mtd_write_jffs2(const char *mtd, const char *filename, const char *dir)
 	int err = -1, fdeof = 0;
 	int err = -1, fdeof = 0;
 
 
 	outfd = mtd_check_open(mtd);
 	outfd = mtd_check_open(mtd);
-	if (!outfd)
+	if (outfd < 0)
 		return -1;
 		return -1;
 
 
 	if (quiet < 2)
 	if (quiet < 2)

+ 6 - 6
package/mtd/src/mtd.c

@@ -98,13 +98,13 @@ int mtd_check_open(const char *mtd)
 	fd = mtd_open(mtd, false);
 	fd = mtd_open(mtd, false);
 	if(fd < 0) {
 	if(fd < 0) {
 		fprintf(stderr, "Could not open mtd device: %s\n", mtd);
 		fprintf(stderr, "Could not open mtd device: %s\n", mtd);
-		return 0;
+		return -1;
 	}
 	}
 
 
 	if(ioctl(fd, MEMGETINFO, &mtdInfo)) {
 	if(ioctl(fd, MEMGETINFO, &mtdInfo)) {
 		fprintf(stderr, "Could not get MTD device info from %s\n", mtd);
 		fprintf(stderr, "Could not get MTD device info from %s\n", mtd);
 		close(fd);
 		close(fd);
-		return 0;
+		return -1;
 	}
 	}
 	mtdsize = mtdInfo.size;
 	mtdsize = mtdInfo.size;
 	erasesize = mtdInfo.erasesize;
 	erasesize = mtdInfo.erasesize;
@@ -162,7 +162,7 @@ static int mtd_check(const char *mtd)
 		}
 		}
 
 
 		fd = mtd_check_open(mtd);
 		fd = mtd_check_open(mtd);
-		if (!fd)
+		if (fd < 0)
 			return 0;
 			return 0;
 
 
 		if (!buf)
 		if (!buf)
@@ -199,7 +199,7 @@ mtd_unlock(const char *mtd)
 		}
 		}
 
 
 		fd = mtd_check_open(mtd);
 		fd = mtd_check_open(mtd);
-		if(fd <= 0) {
+		if(fd < 0) {
 			fprintf(stderr, "Could not open mtd device: %s\n", mtd);
 			fprintf(stderr, "Could not open mtd device: %s\n", mtd);
 			exit(1);
 			exit(1);
 		}
 		}
@@ -230,7 +230,7 @@ mtd_erase(const char *mtd)
 		fprintf(stderr, "Erasing %s ...\n", mtd);
 		fprintf(stderr, "Erasing %s ...\n", mtd);
 
 
 	fd = mtd_check_open(mtd);
 	fd = mtd_check_open(mtd);
-	if(fd <= 0) {
+	if(fd < 0) {
 		fprintf(stderr, "Could not open mtd device: %s\n", mtd);
 		fprintf(stderr, "Could not open mtd device: %s\n", mtd);
 		exit(1);
 		exit(1);
 	}
 	}
@@ -260,7 +260,7 @@ mtd_refresh(const char *mtd)
 		fprintf(stderr, "Refreshing mtd partition %s ... ", mtd);
 		fprintf(stderr, "Refreshing mtd partition %s ... ", mtd);
 
 
 	fd = mtd_check_open(mtd);
 	fd = mtd_check_open(mtd);
-	if(fd <= 0) {
+	if(fd < 0) {
 		fprintf(stderr, "Could not open mtd device: %s\n", mtd);
 		fprintf(stderr, "Could not open mtd device: %s\n", mtd);
 		exit(1);
 		exit(1);
 	}
 	}