Fix problem with default #defines
Cleanup compiler warning
diff --git a/common/env_flash.c b/common/env_flash.c
index 19e2282..426d01b 100644
--- a/common/env_flash.c
+++ b/common/env_flash.c
@@ -160,9 +160,11 @@
 #ifdef CMD_SAVEENV
 int saveenv(void)
 {
+	char *saved_data = NULL;
 	int rc = 1;
+#if CFG_ENV_SECT_SIZE > CFG_ENV_SIZE
 	ulong up_data = 0;
-	char *saved_data = NULL;
+#endif
 
 	debug ("Protect off %08lX ... %08lX\n",
 		(ulong)flash_addr, end_addr);
diff --git a/include/environment.h b/include/environment.h
index fe8465b..bb10964 100644
--- a/include/environment.h
+++ b/include/environment.h
@@ -47,8 +47,15 @@
 # if !defined(CFG_ENV_ADDR_REDUND) && defined(CFG_ENV_OFFSET_REDUND)
 #  define CFG_ENV_ADDR_REDUND	(CFG_FLASH_BASE + CFG_ENV_OFFSET_REDUND)
 # endif
-# ifndef  CFG_ENV_SIZE
-#  define CFG_ENV_SIZE	CFG_ENV_SECT_SIZE
+# if defined(CFG_ENV_SECT_SIZE) || defined(CFG_ENV_SIZE)
+#  ifndef  CFG_ENV_SECT_SIZE
+#   define CFG_ENV_SECT_SIZE	CFG_ENV_SIZE
+#  endif
+#  ifndef  CFG_ENV_SIZE
+#   define CFG_ENV_SIZE	CFG_ENV_SECT_SIZE
+#  endif
+# else
+#  error "Both CFG_ENV_SECT_SIZE and CFG_ENV_SIZE undefined"
 # endif
 # if defined(CFG_ENV_ADDR_REDUND) && !defined(CFG_ENV_SIZE_REDUND)
 #  define CFG_ENV_SIZE_REDUND	CFG_ENV_SIZE