Bug 284219: add EnsureStringLength() helper function to nsReadableUtils.h to
simplify OOM checks when growing an nsAString. r/sr=darin, a=mconnor (1.8), a=jay (1.8.0) git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_8_BRANCH@200612 18797224-902f-48f8-a5cc-f745e15eee43
This commit is contained in:
@@ -489,7 +489,10 @@ CopyUnicodeTo( const nsScannerIterator& aSrcStart,
|
||||
nsAString& aDest )
|
||||
{
|
||||
nsAString::iterator writer;
|
||||
aDest.SetLength(Distance(aSrcStart, aSrcEnd));
|
||||
if (!EnsureStringLength(aDest, Distance(aSrcStart, aSrcEnd))) {
|
||||
aDest.Truncate();
|
||||
return; // out of memory
|
||||
}
|
||||
aDest.BeginWriting(writer);
|
||||
nsScannerIterator fromBegin(aSrcStart);
|
||||
|
||||
@@ -519,7 +522,8 @@ AppendUnicodeTo( const nsScannerIterator& aSrcStart,
|
||||
{
|
||||
nsAString::iterator writer;
|
||||
PRUint32 oldLength = aDest.Length();
|
||||
aDest.SetLength(oldLength + Distance(aSrcStart, aSrcEnd));
|
||||
if (!EnsureStringLength(aDest, oldLength + Distance(aSrcStart, aSrcEnd)))
|
||||
return; // out of memory
|
||||
aDest.BeginWriting(writer).advance(oldLength);
|
||||
nsScannerIterator fromBegin(aSrcStart);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user