handle odd data sizes gracefully in --decrypt-data

This commit is contained in:
Martin Michelsen
2022-10-02 15:41:49 -07:00
parent 8d206133a3
commit 0969a6eb1d
+5
View File
@@ -457,6 +457,9 @@ int main(int argc, char** argv) {
data = parse_data_string(data); data = parse_data_string(data);
} }
size_t original_size = data.size();
data.resize((data.size() + 7) & (~7), '\0');
if (big_endian) { if (big_endian) {
uint32_t* dwords = reinterpret_cast<uint32_t*>(data.data()); uint32_t* dwords = reinterpret_cast<uint32_t*>(data.data());
for (size_t x = 0; x < (data.size() >> 2); x++) { for (size_t x = 0; x < (data.size() >> 2); x++) {
@@ -479,6 +482,8 @@ int main(int argc, char** argv) {
} }
} }
data.resize(original_size);
if (isatty(fileno(stdout))) { if (isatty(fileno(stdout))) {
print_data(stdout, data); print_data(stdout, data);
} else { } else {