From 9f4d70e9a3d3bd629b8fc241b6c59b1d3899de49 Mon Sep 17 00:00:00 2001 From: Jo-Philipp Wich Date: Mon, 8 Jun 2009 11:59:41 +0000 Subject: [PATCH] nvram: refuse nvram operations on the WGT634U SVN-Revision: 16378 --- 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 ff9359beab..c2270714fd 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 78baa9431d..ed3da4312b 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.25.1