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; |
} |