Chromium Code Reviews| Index: chrome/browser/policy/preg_parser_win.cc |
| diff --git a/chrome/browser/policy/preg_parser_win.cc b/chrome/browser/policy/preg_parser_win.cc |
| index 0351dac5dac51d4c5feba155fad326efd5cd2fd4..cd855d3dda0496551d776e0f22b48038ead4b45d 100644 |
| --- a/chrome/browser/policy/preg_parser_win.cc |
| +++ b/chrome/browser/policy/preg_parser_win.cc |
| @@ -64,12 +64,13 @@ int NextChar(const uint8** cursor, const uint8* end) { |
| // Reads a fixed-size field from a PReg file. |
| bool ReadFieldBinary(const uint8** cursor, |
| const uint8* end, |
| - int size, |
| + uint32 size, |
| uint8* data) { |
| - if (!size) |
| - return false; |
| + if (size == 0) |
| + return true; |
| + |
| const uint8* field_end = *cursor + size; |
| - if (field_end > end) |
| + if (field_end <= *cursor || field_end > end) |
|
Joao da Silva
2013/09/13 14:18:07
if this accepted "field_end == *cursor" then it wo
Mattias Nissler (ping if slow)
2013/09/13 14:40:24
The size == 0 check is here to handle the case of
|
| return false; |
| std::copy(*cursor, field_end, data); |
| *cursor = field_end; |