summaryrefslogtreecommitdiff
path: root/utils/sbtools/sbtoelf.c
diff options
context:
space:
mode:
Diffstat (limited to 'utils/sbtools/sbtoelf.c')
-rw-r--r--utils/sbtools/sbtoelf.c12
1 files changed, 9 insertions, 3 deletions
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 @@
38#include <string.h> 38#include <string.h>
39#include <ctype.h> 39#include <ctype.h>
40#include <time.h> 40#include <time.h>
41#include <strings.h>
41 42
42#include "crypto.h" 43#include "crypto.h"
43#include "elf.h" 44#include "elf.h"
@@ -76,6 +77,12 @@ uint8_t *g_buf; /* file content */
76char out_prefix[PREFIX_SIZE]; 77char out_prefix[PREFIX_SIZE];
77const char *key_file; 78const char *key_file;
78 79
80char *s_getenv(const char *name)
81{
82 char *s = getenv(name);
83 return s ? s : "";
84}
85
79void *xmalloc(size_t s) /* malloc helper, used in elf.c */ 86void *xmalloc(size_t s) /* malloc helper, used in elf.c */
80{ 87{
81 void * r = malloc(s); 88 void * r = malloc(s);
@@ -338,7 +345,7 @@ static void extract(unsigned long filesize)
338 if(sb_header->header_size * BLOCK_SIZE != sizeof(struct sb_header_t)) 345 if(sb_header->header_size * BLOCK_SIZE != sizeof(struct sb_header_t))
339 bugp("Bad header size"); 346 bugp("Bad header size");
340 if((sb_header->major_ver != IMAGE_MAJOR_VERSION || 347 if((sb_header->major_ver != IMAGE_MAJOR_VERSION ||
341 sb_header->minor_ver != IMAGE_MINOR_VERSION) && strcmp(getenv("SB_IGNORE_VER"), "YES")) 348 sb_header->minor_ver != IMAGE_MINOR_VERSION) && strcasecmp(s_getenv("SB_IGNORE_VER"), "YES"))
342 bugp("Bad file format version"); 349 bugp("Bad file format version");
343 if(sb_header->sec_hdr_size * BLOCK_SIZE != sizeof(struct sb_section_header_t)) 350 if(sb_header->sec_hdr_size * BLOCK_SIZE != sizeof(struct sb_section_header_t))
344 bugp("Bad section header size"); 351 bugp("Bad section header size");
@@ -497,8 +504,7 @@ static void extract(unsigned long filesize)
497 } 504 }
498 505
499 /* sections */ 506 /* sections */
500 char *raw_cmd_env = getenv("SB_RAW_CMD"); 507 if(strcasecmp(s_getenv("SB_RAW_CMD"), "YES") != 0)
501 if(raw_cmd_env == NULL || strcmp(raw_cmd_env, "YES") != 0)
502 { 508 {
503 color(BLUE); 509 color(BLUE);
504 printf("Sections\n"); 510 printf("Sections\n");