| Index: net/http/http_mac_signature.cc
|
| ===================================================================
|
| --- net/http/http_mac_signature.cc (revision 107404)
|
| +++ net/http/http_mac_signature.cc (working copy)
|
| @@ -158,9 +158,12 @@
|
|
|
| std::string signature;
|
| size_t length = hmac.DigestLength();
|
| - char* buffer = WriteInto(&signature, length);
|
| - if (!hmac.Sign(request, reinterpret_cast<unsigned char*>(buffer),
|
| - length)) {
|
| + DCHECK_GT(length, 0u);
|
| + if (!hmac.Sign(request,
|
| + // We need the + 1 here not because the call will write a trailing \0,
|
| + // but so that signature.length() is correctly set to |length|.
|
| + reinterpret_cast<unsigned char*>(WriteInto(&signature, length + 1)),
|
| + length)) {
|
| NOTREACHED();
|
| return false;
|
| }
|
|
|