|
|
@@ -178,12 +178,14 @@ bool ParseConfig(int argc, char **argv, TestConfig *out_config) { |
|
|
|
size_t len; |
|
|
|
if (!EVP_DecodedLength(&len, strlen(argv[i]))) { |
|
|
|
fprintf(stderr, "Invalid base64: %s\n", argv[i]); |
|
|
|
return false; |
|
|
|
} |
|
|
|
std::unique_ptr<uint8_t[]> decoded(new uint8_t[len]); |
|
|
|
if (!EVP_DecodeBase64(decoded.get(), &len, len, |
|
|
|
reinterpret_cast<const uint8_t *>(argv[i]), |
|
|
|
strlen(argv[i]))) { |
|
|
|
fprintf(stderr, "Invalid base64: %s\n", argv[i]); |
|
|
|
return false; |
|
|
|
} |
|
|
|
base64_field->assign(reinterpret_cast<const char *>(decoded.get()), len); |
|
|
|
continue; |
|
|
|