зеркало из https://github.com/mozilla/gecko-dev.git
Bug 2787: Crash on js accessing option index out of range.
This commit is contained in:
Родитель
d6d23fe90a
Коммит
86db74417d
|
@ -598,8 +598,14 @@ nsOptionList::GetLength(PRUint32* aLength)
|
||||||
NS_IMETHODIMP
|
NS_IMETHODIMP
|
||||||
nsOptionList::Item(PRUint32 aIndex, nsIDOMNode** aReturn)
|
nsOptionList::Item(PRUint32 aIndex, nsIDOMNode** aReturn)
|
||||||
{
|
{
|
||||||
*aReturn = (nsIDOMNode*)mElements.ElementAt(aIndex);
|
PRUint32 length = 0;
|
||||||
NS_ADDREF(*aReturn);
|
GetLength(&length);
|
||||||
|
if (aIndex >= length) {
|
||||||
|
*aReturn = nsnull;
|
||||||
|
} else {
|
||||||
|
*aReturn = (nsIDOMNode*)mElements.ElementAt(aIndex);
|
||||||
|
NS_ADDREF(*aReturn);
|
||||||
|
}
|
||||||
return NS_OK;
|
return NS_OK;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -598,8 +598,14 @@ nsOptionList::GetLength(PRUint32* aLength)
|
||||||
NS_IMETHODIMP
|
NS_IMETHODIMP
|
||||||
nsOptionList::Item(PRUint32 aIndex, nsIDOMNode** aReturn)
|
nsOptionList::Item(PRUint32 aIndex, nsIDOMNode** aReturn)
|
||||||
{
|
{
|
||||||
*aReturn = (nsIDOMNode*)mElements.ElementAt(aIndex);
|
PRUint32 length = 0;
|
||||||
NS_ADDREF(*aReturn);
|
GetLength(&length);
|
||||||
|
if (aIndex >= length) {
|
||||||
|
*aReturn = nsnull;
|
||||||
|
} else {
|
||||||
|
*aReturn = (nsIDOMNode*)mElements.ElementAt(aIndex);
|
||||||
|
NS_ADDREF(*aReturn);
|
||||||
|
}
|
||||||
return NS_OK;
|
return NS_OK;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Загрузка…
Ссылка в новой задаче