Fix --split-max-size
Byte size calculation was done on int and overflowed.
This commit is contained in:
parent
ab9a3240a9
commit
1d86bd87fb
1 changed files with 2 additions and 2 deletions
|
@ -59,10 +59,10 @@ static size_t split_str_to_n_bytes(std::string str) {
|
||||||
int n;
|
int n;
|
||||||
if (str.back() == 'M') {
|
if (str.back() == 'M') {
|
||||||
sscanf(str.c_str(), "%d", &n);
|
sscanf(str.c_str(), "%d", &n);
|
||||||
n_bytes = n * 1024 * 1024; // megabytes
|
n_bytes = (size_t)n * 1024 * 1024; // megabytes
|
||||||
} else if (str.back() == 'G') {
|
} else if (str.back() == 'G') {
|
||||||
sscanf(str.c_str(), "%d", &n);
|
sscanf(str.c_str(), "%d", &n);
|
||||||
n_bytes = n * 1024 * 1024 * 1024; // gigabytes
|
n_bytes = (size_t)n * 1024 * 1024 * 1024; // gigabytes
|
||||||
} else {
|
} else {
|
||||||
throw std::invalid_argument("error: supported units are M (megabytes) or G (gigabytes), but got: " + std::string(1, str.back()));
|
throw std::invalid_argument("error: supported units are M (megabytes) or G (gigabytes), but got: " + std::string(1, str.back()));
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue