Tue, 06 Jan 2015 21:39:09 +0100
Conditionally force memory storage according to privacy.thirdparty.isolate;
This solves Tor bug #9701, complying with disk avoidance documented in
https://www.torproject.org/projects/torbrowser/design/#disk-avoidance.
michael@0 | 1 | diff --git a/a/mfbt/double-conversion/strtod.cc b/inbound/mfbt/double-conversion/strtod.cc |
michael@0 | 2 | index 9758989..97fa4a5 100644 |
michael@0 | 3 | --- a/a/mfbt/double-conversion/strtod.cc |
michael@0 | 4 | +++ b/inbound/mfbt/double-conversion/strtod.cc |
michael@0 | 5 | @@ -501,17 +501,19 @@ float Strtof(Vector<const char> buffer, int exponent) { |
michael@0 | 6 | // if they would round to the same float. If the guess is not correct we have |
michael@0 | 7 | // to look at four values (since two different doubles could be the correct |
michael@0 | 8 | // double). |
michael@0 | 9 | |
michael@0 | 10 | double double_next = Double(double_guess).NextDouble(); |
michael@0 | 11 | double double_previous = Double(double_guess).PreviousDouble(); |
michael@0 | 12 | |
michael@0 | 13 | float f1 = static_cast<float>(double_previous); |
michael@0 | 14 | +#if defined(DEBUG) |
michael@0 | 15 | float f2 = float_guess; |
michael@0 | 16 | +#endif |
michael@0 | 17 | float f3 = static_cast<float>(double_next); |
michael@0 | 18 | float f4; |
michael@0 | 19 | if (is_correct) { |
michael@0 | 20 | f4 = f3; |
michael@0 | 21 | } else { |
michael@0 | 22 | double double_next2 = Double(double_next).NextDouble(); |
michael@0 | 23 | f4 = static_cast<float>(double_next2); |
michael@0 | 24 | } |