mtd: fix md5sum error checking
authorblogic <blogic@3c298f89-4303-0410-b956-a3cf2f4a3e73>
Thu, 5 Mar 2015 20:25:02 +0000 (20:25 +0000)
committerblogic <blogic@3c298f89-4303-0410-b956-a3cf2f4a3e73>
Thu, 5 Mar 2015 20:25:02 +0000 (20:25 +0000)
In mtd_verify(), the return value of md5sum() has been
interpreted as error if nonzero, while the function
returns number of processed bytes, which caused
mtd_verify() to always fail.

This patch fixes error checking to interpret only
negative values as errors.

Signed-off-by: Zefir Kurtisi <zefir.kurtisi@neratec.com>
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@44605 3c298f89-4303-0410-b956-a3cf2f4a3e73

package/system/mtd/src/mtd.c

index 72b9ddf..741b57b 100644 (file)
@@ -337,7 +337,7 @@ mtd_verify(const char *mtd, char *file)
        if (quiet < 2)
                fprintf(stderr, "Verifying %s against %s ...\n", mtd, file);
 
-       if (stat(file, &s) || md5sum(file, f_md5)) {
+       if (stat(file, &s) || md5sum(file, f_md5) < 0) {
                fprintf(stderr, "Failed to hash %s\n", file);
                return -1;
        }