summaryrefslogtreecommitdiffstats
path: root/package/nvram
diff options
context:
space:
mode:
authorjow <jow@3c298f89-4303-0410-b956-a3cf2f4a3e73>2009-06-08 11:59:41 +0000
committerjow <jow@3c298f89-4303-0410-b956-a3cf2f4a3e73>2009-06-08 11:59:41 +0000
commit95e79fe39e9c89efb73aef4dfb09014e147e528a (patch)
tree0c2fac8c575e069bb8cf538cf9dc840a23f01d52 /package/nvram
parent1dd065cce5efed0c71d0c009fd38678a16ea2938 (diff)
[package] nvram: refuse nvram operations on the WGT634U
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@16378 3c298f89-4303-0410-b956-a3cf2f4a3e73
Diffstat (limited to 'package/nvram')
-rw-r--r--package/nvram/Makefile2
-rw-r--r--package/nvram/src/nvram.c12
2 files changed, 12 insertions, 2 deletions
diff --git a/package/nvram/Makefile b/package/nvram/Makefile
index ff9359bea..c2270714f 100644
--- a/package/nvram/Makefile
+++ b/package/nvram/Makefile
@@ -8,7 +8,7 @@
include $(TOPDIR)/rules.mk
PKG_NAME:=nvram
-PKG_RELEASE:=4
+PKG_RELEASE:=5
PKG_BUILD_DIR := $(BUILD_DIR)/$(PKG_NAME)
diff --git a/package/nvram/src/nvram.c b/package/nvram/src/nvram.c
index 78baa9431..ed3da4312 100644
--- a/package/nvram/src/nvram.c
+++ b/package/nvram/src/nvram.c
@@ -411,8 +411,18 @@ char * nvram_find_mtd(void)
char dev[PATH_MAX];
char *path = NULL;
struct stat s;
+ int supported = 1;
- if( (fp = fopen("/proc/mtd", "r")) )
+ /* Refuse any operation on the WGT634U */
+ if( (fp = fopen("/proc/diag/model", "r")) )
+ {
+ if( fgets(dev, sizeof(dev), fp) && !strncmp(dev, "Netgear WGT634U", 15) )
+ supported = 0;
+
+ fclose(fp);
+ }
+
+ if( supported && (fp = fopen("/proc/mtd", "r")) )
{
while( fgets(dev, sizeof(dev), fp) )
{