tools: env: make parse_aes_key stateless

Signed-off-by: Andreas Fenkart <andreas.fenkart@digitalstrom.com>
This commit is contained in:
Andreas Fenkart 2015-12-09 13:13:22 +01:00 committed by Tom Rini
parent 167f525871
commit 8b27abd8ab

12
tools/env/fw_env.c vendored
View file

@ -208,7 +208,7 @@ char *fw_getdefenv(char *name)
return NULL; return NULL;
} }
static int parse_aes_key(char *key) static int parse_aes_key(char *key, uint8_t *bin_key)
{ {
char tmp[5] = { '0', 'x', 0, 0, 0 }; char tmp[5] = { '0', 'x', 0, 0, 0 };
unsigned long ul; unsigned long ul;
@ -230,11 +230,9 @@ static int parse_aes_key(char *key)
"## Error: '-a' option requires valid AES key\n"); "## Error: '-a' option requires valid AES key\n");
return -1; return -1;
} }
aes_key[i] = ul & 0xff; bin_key[i] = ul & 0xff;
key += 2; key += 2;
} }
aes_flag = 1;
return 0; return 0;
} }
@ -267,9 +265,10 @@ int fw_printenv (int argc, char *argv[])
"## Error: '-a' option requires AES key\n"); "## Error: '-a' option requires AES key\n");
return -1; return -1;
} }
rc = parse_aes_key(argv[2]); rc = parse_aes_key(argv[2], aes_key);
if (rc) if (rc)
return rc; return rc;
aes_flag = 1;
argv += 2; argv += 2;
argc -= 2; argc -= 2;
} }
@ -526,9 +525,10 @@ int fw_setenv(int argc, char *argv[])
"## Error: '-a' option requires AES key\n"); "## Error: '-a' option requires AES key\n");
return -1; return -1;
} }
rc = parse_aes_key(argv[2]); rc = parse_aes_key(argv[2], aes_key);
if (rc) if (rc)
return rc; return rc;
aes_flag = 1;
argv += 2; argv += 2;
argc -= 2; argc -= 2;
} }