From 4cfb5da35b196251e0f55aa745b750a3569750bd Mon Sep 17 00:00:00 2001 From: Amaury Pouly Date: Thu, 9 Jun 2011 09:39:21 +0000 Subject: sbtools: always check the result of getenv against NULL, use strcasecmp instead of strcmp more greater flexibility Thanks TheLemonMan for spotting that. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29989 a1c6a512-1295-4272-9138-f99709370657 --- utils/sbtools/sbtoelf.c | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) (limited to 'utils/sbtools/sbtoelf.c') diff --git a/utils/sbtools/sbtoelf.c b/utils/sbtools/sbtoelf.c index 52d7179f2e..854af2851e 100644 --- a/utils/sbtools/sbtoelf.c +++ b/utils/sbtools/sbtoelf.c @@ -38,6 +38,7 @@ #include #include #include +#include #include "crypto.h" #include "elf.h" @@ -76,6 +77,12 @@ uint8_t *g_buf; /* file content */ char out_prefix[PREFIX_SIZE]; const char *key_file; +char *s_getenv(const char *name) +{ + char *s = getenv(name); + return s ? s : ""; +} + void *xmalloc(size_t s) /* malloc helper, used in elf.c */ { void * r = malloc(s); @@ -338,7 +345,7 @@ static void extract(unsigned long filesize) if(sb_header->header_size * BLOCK_SIZE != sizeof(struct sb_header_t)) bugp("Bad header size"); if((sb_header->major_ver != IMAGE_MAJOR_VERSION || - sb_header->minor_ver != IMAGE_MINOR_VERSION) && strcmp(getenv("SB_IGNORE_VER"), "YES")) + sb_header->minor_ver != IMAGE_MINOR_VERSION) && strcasecmp(s_getenv("SB_IGNORE_VER"), "YES")) bugp("Bad file format version"); if(sb_header->sec_hdr_size * BLOCK_SIZE != sizeof(struct sb_section_header_t)) bugp("Bad section header size"); @@ -497,8 +504,7 @@ static void extract(unsigned long filesize) } /* sections */ - char *raw_cmd_env = getenv("SB_RAW_CMD"); - if(raw_cmd_env == NULL || strcmp(raw_cmd_env, "YES") != 0) + if(strcasecmp(s_getenv("SB_RAW_CMD"), "YES") != 0) { color(BLUE); printf("Sections\n"); -- cgit v1.2.3