[package] iwinfo: fix logic flaw in mtd partition check
[openwrt/svn-archive/archive.git] / package / iwinfo / src / iwinfo_utils.c
index 78ea52b4abb319f685eaabb84f2a79025896cd1c..b21f791a65ce0aebb8f80d970eb6bfd5a95b4ece 100644 (file)
@@ -165,7 +165,7 @@ int iwinfo_hardware_id_from_mtd(struct iwinfo_hardware_id *id)
        while (fgets(buf, sizeof(buf), mtd) > 0)
        {
                if (fscanf(mtd, "mtd%d: %*x %x %127s", &off, &len, buf) < 3 ||
-                   strcmp(buf, "\"boardconfig\"") || strcmp(buf, "\"EEPROM\""))
+                   (strcmp(buf, "\"boardconfig\"") && strcmp(buf, "\"EEPROM\"")))
                {
                        off = -1;
                        continue;
@@ -184,7 +184,7 @@ int iwinfo_hardware_id_from_mtd(struct iwinfo_hardware_id *id)
        if ((fd = open(buf, O_RDONLY)) < 0)
                return -1;
 
-       bc = mmap(NULL, len, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_LOCKED, fd, 0);
+       bc = mmap(NULL, len, PROT_READ, MAP_PRIVATE|MAP_LOCKED, fd, 0);
 
        if ((void *)bc != MAP_FAILED)
        {