| Index: base/third_party/symbolize/symbolize.cc
|
| diff --git a/base/third_party/symbolize/symbolize.cc b/base/third_party/symbolize/symbolize.cc
|
| index b25f7479d0df09f0c9dd87637df1a929124fed41..f4861dfe523e7cd7e157603fddb4da6d513c688a 100644
|
| --- a/base/third_party/symbolize/symbolize.cc
|
| +++ b/base/third_party/symbolize/symbolize.cc
|
| @@ -651,7 +651,8 @@ char *itoa_r(intptr_t i, char *buf, size_t sz, int base, size_t padding) {
|
|
|
| // Handle negative numbers (only for base 10).
|
| if (i < 0 && base == 10) {
|
| - j = -i;
|
| + // This does "j = -i" while avoiding integer overflow.
|
| + j = static_cast<uintptr_t>(-(i + 1)) + 1;
|
|
|
| // Make sure we can write the '-' character.
|
| if (++n > sz) {
|
|
|