From fb4f428f1519d5e560c9aaa5b3a67f10b08e5945 Mon Sep 17 00:00:00 2001 From: "nisheeth%netscape.com" Date: Fri, 31 Jan 2003 00:58:41 +0000 Subject: [PATCH] Fix for bug 182067. r=harishd, sr=jst, a=asa. Fixes the crash/hang on Linux when a data: url with a null data segment is typed into the url bar. git-svn-id: svn://10.0.0.236/trunk@137172 18797224-902f-48f8-a5cc-f745e15eee43 --- mozilla/htmlparser/src/nsScanner.cpp | 12 ++++++++++++ mozilla/parser/htmlparser/src/nsScanner.cpp | 12 ++++++++++++ 2 files changed, 24 insertions(+) diff --git a/mozilla/htmlparser/src/nsScanner.cpp b/mozilla/htmlparser/src/nsScanner.cpp index 29d7b140e07..7c8dce0421c 100644 --- a/mozilla/htmlparser/src/nsScanner.cpp +++ b/mozilla/htmlparser/src/nsScanner.cpp @@ -138,6 +138,12 @@ nsScanner::nsScanner(nsString& aFilename,PRBool aCreateStream, const nsString& a MOZ_COUNT_CTOR(nsScanner); mSlidingBuffer = nsnull; + // XXX This is a big hack. We want to initialize the iterators in the + // constructor. So, we temporarily use the mFileName string for this + // purpose. This fixes bug 182067. + mFilename.BeginReading(mCurrentPosition); + mMarkPosition = mCurrentPosition; + mEndPosition = mCurrentPosition; mIncremental=PR_TRUE; mCountRemaining = 0; mTotalRead=0; @@ -166,6 +172,12 @@ nsScanner::nsScanner(const nsAString& aFilename,nsInputStream& aStream,const nsS MOZ_COUNT_CTOR(nsScanner); mSlidingBuffer = nsnull; + // XXX This is a big hack. We want to initialize the iterators in the + // constructor. So, we temporarily use the mFileName string for this + // purpose. This fixes bug 182067. + mFilename.BeginReading(mCurrentPosition); + mMarkPosition = mCurrentPosition; + mEndPosition = mCurrentPosition; mIncremental=PR_FALSE; mCountRemaining = 0; mTotalRead=0; diff --git a/mozilla/parser/htmlparser/src/nsScanner.cpp b/mozilla/parser/htmlparser/src/nsScanner.cpp index 29d7b140e07..7c8dce0421c 100644 --- a/mozilla/parser/htmlparser/src/nsScanner.cpp +++ b/mozilla/parser/htmlparser/src/nsScanner.cpp @@ -138,6 +138,12 @@ nsScanner::nsScanner(nsString& aFilename,PRBool aCreateStream, const nsString& a MOZ_COUNT_CTOR(nsScanner); mSlidingBuffer = nsnull; + // XXX This is a big hack. We want to initialize the iterators in the + // constructor. So, we temporarily use the mFileName string for this + // purpose. This fixes bug 182067. + mFilename.BeginReading(mCurrentPosition); + mMarkPosition = mCurrentPosition; + mEndPosition = mCurrentPosition; mIncremental=PR_TRUE; mCountRemaining = 0; mTotalRead=0; @@ -166,6 +172,12 @@ nsScanner::nsScanner(const nsAString& aFilename,nsInputStream& aStream,const nsS MOZ_COUNT_CTOR(nsScanner); mSlidingBuffer = nsnull; + // XXX This is a big hack. We want to initialize the iterators in the + // constructor. So, we temporarily use the mFileName string for this + // purpose. This fixes bug 182067. + mFilename.BeginReading(mCurrentPosition); + mMarkPosition = mCurrentPosition; + mEndPosition = mCurrentPosition; mIncremental=PR_FALSE; mCountRemaining = 0; mTotalRead=0;