From 95e79fe39e9c89efb73aef4dfb09014e147e528a Mon Sep 17 00:00:00 2001 From: jow Date: Mon, 8 Jun 2009 11:59:41 +0000 Subject: [PATCH] [package] nvram: refuse nvram operations on the WGT634U git-svn-id: svn://svn.openwrt.org/openwrt/trunk@16378 3c298f89-4303-0410-b956-a3cf2f4a3e73 --- package/nvram/Makefile | 2 +- package/nvram/src/nvram.c | 12 +++++++++++- 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) ) { -- 2.35.1