Chromium Code Reviews| Index: chrome/browser/chromeos/certificate_provider/sign_requests.cc |
| diff --git a/chrome/browser/chromeos/certificate_provider/sign_requests.cc b/chrome/browser/chromeos/certificate_provider/sign_requests.cc |
| index 3d3ecfc88029110c417cf324a187dd08efdf0ee1..bbe6fb9e57159430b8a032293384911f332a648f 100644 |
| --- a/chrome/browser/chromeos/certificate_provider/sign_requests.cc |
| +++ b/chrome/browser/chromeos/certificate_provider/sign_requests.cc |
| @@ -5,6 +5,7 @@ |
| #include "chrome/browser/chromeos/certificate_provider/sign_requests.h" |
| #include "base/callback.h" |
| +#include "base/rand_util.h" |
| namespace chromeos { |
| namespace certificate_provider { |
| @@ -23,7 +24,11 @@ SignRequests::~SignRequests() {} |
| int SignRequests::AddRequest(const std::string& extension_id, |
| const net::SSLPrivateKey::SignCallback& callback) { |
| RequestsState& state = extension_to_requests_[extension_id]; |
|
stevenjb
2016/09/12 21:16:39
Add comment, e.g.:
// Generate a random request id
igorcov
2016/09/13 14:19:32
Done.
|
| - const int request_id = state.next_free_id++; |
| + int request_id = base::RandInt(0, INT_MAX); |
| + while (state.pending_requests.find(request_id) != |
| + state.pending_requests.end()) { |
| + request_id = base::RandInt(0, INT_MAX); |
| + } |
| state.pending_requests[request_id] = callback; |
| return request_id; |
| } |