diff options
author | jow <jow@3c298f89-4303-0410-b956-a3cf2f4a3e73> | 2009-06-08 11:59:41 +0000 |
---|---|---|
committer | jow <jow@3c298f89-4303-0410-b956-a3cf2f4a3e73> | 2009-06-08 11:59:41 +0000 |
commit | 95e79fe39e9c89efb73aef4dfb09014e147e528a (patch) | |
tree | 0c2fac8c575e069bb8cf538cf9dc840a23f01d52 /package/nvram/src | |
parent | 1dd065cce5efed0c71d0c009fd38678a16ea2938 (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/src')
-rw-r--r-- | package/nvram/src/nvram.c | 12 |
1 files changed, 11 insertions, 1 deletions
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) ) { |