X-Git-Url: https://git.archive.openwrt.org/?p=15.05%2Fopenwrt.git;a=blobdiff_plain;f=package%2Futils%2Fnvram%2Fsrc%2Fnvram.c;h=0e4294391ad69af92d2682ac144518fa20b6e9a5;hp=c490597d4b8238941acac0fec0b04ed784a15719;hb=04d6fe480870a216e8a1c3119979367e6127f649;hpb=862b8aec43fe60813917a3477fe5c26fd69499ab diff --git a/package/utils/nvram/src/nvram.c b/package/utils/nvram/src/nvram.c index c490597d4b..0e4294391a 100644 --- a/package/utils/nvram/src/nvram.c +++ b/package/utils/nvram/src/nvram.c @@ -65,7 +65,7 @@ static void _nvram_free(nvram_handle_t *h) static nvram_tuple_t * _nvram_realloc( nvram_handle_t *h, nvram_tuple_t *t, const char *name, const char *value ) { - if ((strlen(value) + 1) > NVRAM_SPACE) + if ((strlen(value) + 1) > h->length - h->offset) return NULL; if (!t) { @@ -395,7 +395,7 @@ nvram_handle_t * nvram_open(const char *file, int rdonly) header = nvram_header(h); if (header->magic == NVRAM_MAGIC && - (rdonly || header->len < NVRAM_SPACE)) { + (rdonly || header->len < h->length - h->offset)) { _nvram_rehash(h); free(mtd); return h;