From: Felix Fietkau Date: Mon, 21 Sep 2009 19:13:34 +0000 (+0000) Subject: mtd: fix wrong open() return code checks X-Git-Url: http://git.lede-project.org./?a=commitdiff_plain;h=5b027739405dc0f0dcee3588a17df19cae11eda9;p=openwrt%2Fstaging%2Fynezz.git mtd: fix wrong open() return code checks SVN-Revision: 17666 --- diff --git a/package/mtd/src/jffs2.c b/package/mtd/src/jffs2.c index 18eb4e6869..49a7d56120 100644 --- a/package/mtd/src/jffs2.c +++ b/package/mtd/src/jffs2.c @@ -42,7 +42,7 @@ static int last_ino = 0; static int last_version = 0; static char *buf = NULL; static int ofs = 0; -static int outfd = 0; +static int outfd = -1; static int mtdofs = 0; static int target_ino = 0; @@ -186,7 +186,7 @@ static void add_file(const char *name, int parent) ri.usercompr = 0; fd = open(name, 0); - if (fd <= 0) { + if (fd < 0) { fprintf(stderr, "File %s does not exist\n", name); return; } @@ -282,7 +282,7 @@ int mtd_write_jffs2(const char *mtd, const char *filename, const char *dir) int err = -1, fdeof = 0; outfd = mtd_check_open(mtd); - if (!outfd) + if (outfd < 0) return -1; if (quiet < 2) diff --git a/package/mtd/src/mtd.c b/package/mtd/src/mtd.c index bd966ab7dc..2639b4ebb5 100644 --- a/package/mtd/src/mtd.c +++ b/package/mtd/src/mtd.c @@ -98,13 +98,13 @@ int mtd_check_open(const char *mtd) fd = mtd_open(mtd, false); if(fd < 0) { fprintf(stderr, "Could not open mtd device: %s\n", mtd); - return 0; + return -1; } if(ioctl(fd, MEMGETINFO, &mtdInfo)) { fprintf(stderr, "Could not get MTD device info from %s\n", mtd); close(fd); - return 0; + return -1; } mtdsize = mtdInfo.size; erasesize = mtdInfo.erasesize; @@ -162,7 +162,7 @@ static int mtd_check(const char *mtd) } fd = mtd_check_open(mtd); - if (!fd) + if (fd < 0) return 0; if (!buf) @@ -199,7 +199,7 @@ mtd_unlock(const char *mtd) } fd = mtd_check_open(mtd); - if(fd <= 0) { + if(fd < 0) { fprintf(stderr, "Could not open mtd device: %s\n", mtd); exit(1); } @@ -230,7 +230,7 @@ mtd_erase(const char *mtd) fprintf(stderr, "Erasing %s ...\n", mtd); fd = mtd_check_open(mtd); - if(fd <= 0) { + if(fd < 0) { fprintf(stderr, "Could not open mtd device: %s\n", mtd); exit(1); } @@ -260,7 +260,7 @@ mtd_refresh(const char *mtd) fprintf(stderr, "Refreshing mtd partition %s ... ", mtd); fd = mtd_check_open(mtd); - if(fd <= 0) { + if(fd < 0) { fprintf(stderr, "Could not open mtd device: %s\n", mtd); exit(1); }