зеркало из https://github.com/mozilla/gecko-dev.git
Bug 964561 - Part 10: Fix a possible leak in BindAdoptedBlobByName()/BindAdoptedBlobByIndex(); r=mak
This commit is contained in:
Родитель
d1f5aaafa4
Коммит
1ec718d61d
|
@ -6,6 +6,7 @@
|
|||
|
||||
#include <limits.h>
|
||||
|
||||
#include "mozilla/UniquePtrExtensions.h"
|
||||
#include "nsString.h"
|
||||
|
||||
#include "mozStorageError.h"
|
||||
|
@ -367,11 +368,9 @@ BindingParams::BindAdoptedBlobByName(const nsACString &aName,
|
|||
uint8_t *aValue,
|
||||
uint32_t aValueSize)
|
||||
{
|
||||
UniqueFreePtr<uint8_t> uniqueValue(aValue);
|
||||
NS_ENSURE_ARG_MAX(aValueSize, INT_MAX);
|
||||
std::pair<uint8_t *, int> data(
|
||||
aValue,
|
||||
int(aValueSize)
|
||||
);
|
||||
std::pair<uint8_t *, int> data(uniqueValue.release(), int(aValueSize));
|
||||
nsCOMPtr<nsIVariant> value(new AdoptedBlobVariant(data));
|
||||
|
||||
return BindByName(aName, value);
|
||||
|
@ -514,11 +513,9 @@ BindingParams::BindAdoptedBlobByIndex(uint32_t aIndex,
|
|||
uint8_t *aValue,
|
||||
uint32_t aValueSize)
|
||||
{
|
||||
UniqueFreePtr<uint8_t> uniqueValue(aValue);
|
||||
NS_ENSURE_ARG_MAX(aValueSize, INT_MAX);
|
||||
std::pair<uint8_t *, int> data(
|
||||
static_cast<uint8_t *>(aValue),
|
||||
int(aValueSize)
|
||||
);
|
||||
std::pair<uint8_t *, int> data(uniqueValue.release(), int(aValueSize));
|
||||
nsCOMPtr<nsIVariant> value(new AdoptedBlobVariant(data));
|
||||
|
||||
return BindByIndex(aIndex, value);
|
||||
|
|
Загрузка…
Ссылка в новой задаче