tools: env: make parse_aes_key stateless
Signed-off-by: Andreas Fenkart <andreas.fenkart@digitalstrom.com>
diff --git a/tools/env/fw_env.c b/tools/env/fw_env.c
index 8c452a8..7f851e1 100644
--- a/tools/env/fw_env.c
+++ b/tools/env/fw_env.c
@@ -208,7 +208,7 @@
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 };
unsigned long ul;
@@ -230,11 +230,9 @@
"## Error: '-a' option requires valid AES key\n");
return -1;
}
- aes_key[i] = ul & 0xff;
+ bin_key[i] = ul & 0xff;
key += 2;
}
- aes_flag = 1;
-
return 0;
}
@@ -267,9 +265,10 @@
"## Error: '-a' option requires AES key\n");
return -1;
}
- rc = parse_aes_key(argv[2]);
+ rc = parse_aes_key(argv[2], aes_key);
if (rc)
return rc;
+ aes_flag = 1;
argv += 2;
argc -= 2;
}
@@ -526,9 +525,10 @@
"## Error: '-a' option requires AES key\n");
return -1;
}
- rc = parse_aes_key(argv[2]);
+ rc = parse_aes_key(argv[2], aes_key);
if (rc)
return rc;
+ aes_flag = 1;
argv += 2;
argc -= 2;
}