summary refs log tree commit diff
path: root/gnu/packages/patches/icecat-CVE-2016-1974.patch
diff options
context:
space:
mode:
Diffstat (limited to 'gnu/packages/patches/icecat-CVE-2016-1974.patch')
-rw-r--r--gnu/packages/patches/icecat-CVE-2016-1974.patch530
1 files changed, 0 insertions, 530 deletions
diff --git a/gnu/packages/patches/icecat-CVE-2016-1974.patch b/gnu/packages/patches/icecat-CVE-2016-1974.patch
deleted file mode 100644
index 70fc23b8f3..0000000000
--- a/gnu/packages/patches/icecat-CVE-2016-1974.patch
+++ /dev/null
@@ -1,530 +0,0 @@
-Copied from upstream:
-https://hg.mozilla.org/releases/mozilla-esr38/raw-rev/271e3a5a53d9
-
-# HG changeset patch
-# User Henri Sivonen <hsivonen@hsivonen.fi>
-# Date 1455014759 -7200
-# Node ID 271e3a5a53d96871141e89271f611033b512e3e4
-# Parent  9719b71d72dd2a3c5ee12ace156af2a63d9595ac
-Bug 1228103. r=smaug. a=sylvestre
-
-diff --git a/parser/htmlparser/nsExpatDriver.cpp b/parser/htmlparser/nsExpatDriver.cpp
---- a/parser/htmlparser/nsExpatDriver.cpp
-+++ b/parser/htmlparser/nsExpatDriver.cpp
-@@ -1127,22 +1127,28 @@ nsExpatDriver::ConsumeToken(nsScanner& a
-       XML_Size lastLineLength = XML_GetCurrentColumnNumber(mExpatParser);
- 
-       if (lastLineLength <= consumed) {
-         // The length of the last line was less than what expat consumed, so
-         // there was at least one line break in the consumed data. Store the
-         // last line until the point where we stopped parsing.
-         nsScannerIterator startLastLine = currentExpatPosition;
-         startLastLine.advance(-((ptrdiff_t)lastLineLength));
--        CopyUnicodeTo(startLastLine, currentExpatPosition, mLastLine);
-+        if (!CopyUnicodeTo(startLastLine, currentExpatPosition, mLastLine)) {
-+          return (mInternalState = NS_ERROR_OUT_OF_MEMORY);
-+        }
-       }
-       else {
-         // There was no line break in the consumed data, append the consumed
-         // data.
--        AppendUnicodeTo(oldExpatPosition, currentExpatPosition, mLastLine);
-+        if (!AppendUnicodeTo(oldExpatPosition,
-+                             currentExpatPosition,
-+                             mLastLine)) {
-+          return (mInternalState = NS_ERROR_OUT_OF_MEMORY);
-+        }
-       }
-     }
- 
-     mExpatBuffered += length - consumed;
- 
-     if (BlockedOrInterrupted()) {
-       PR_LOG(GetExpatDriverLog(), PR_LOG_DEBUG,
-              ("Blocked or interrupted parser (probably for loading linked "
-diff --git a/parser/htmlparser/nsParser.cpp b/parser/htmlparser/nsParser.cpp
---- a/parser/htmlparser/nsParser.cpp
-+++ b/parser/htmlparser/nsParser.cpp
-@@ -1508,17 +1508,19 @@ nsParser::ResumeParse(bool allowIteratio
-                 DidBuildModel(mStreamStatus);
-                 return NS_OK;
-               }
-             } else {
-               CParserContext* theContext = PopContext();
-               if (theContext) {
-                 theIterationIsOk = allowIteration && theContextIsStringBased;
-                 if (theContext->mCopyUnused) {
--                  theContext->mScanner->CopyUnusedData(mUnusedInput);
-+                  if (!theContext->mScanner->CopyUnusedData(mUnusedInput)) {
-+                    mInternalState = NS_ERROR_OUT_OF_MEMORY;
-+                  }
-                 }
- 
-                 delete theContext;
-               }
- 
-               result = mInternalState;
-               aIsFinalChunk = mParserContext &&
-                               mParserContext->mStreamListenerState == eOnStop;
-diff --git a/parser/htmlparser/nsScanner.cpp b/parser/htmlparser/nsScanner.cpp
---- a/parser/htmlparser/nsScanner.cpp
-+++ b/parser/htmlparser/nsScanner.cpp
-@@ -379,17 +379,19 @@ nsresult nsScanner::Peek(nsAString& aStr
-   if (mCountRemaining < uint32_t(aNumChars + aOffset)) {
-     end = mEndPosition;
-   }
-   else {
-     end = start;
-     end.advance(aNumChars);
-   }
- 
--  CopyUnicodeTo(start, end, aStr);
-+  if (!CopyUnicodeTo(start, end, aStr)) {
-+    return NS_ERROR_OUT_OF_MEMORY;
-+  }
- 
-   return NS_OK;
- }
- 
- 
- /**
-  *  Skip whitespace on scanner input stream
-  *  
-@@ -542,17 +544,19 @@ nsresult nsScanner::ReadTagIdentifier(ns
- 
-     if (!found) {
-       ++current;
-     }
-   }
- 
-   // Don't bother appending nothing.
-   if (current != mCurrentPosition) {
--    AppendUnicodeTo(mCurrentPosition, current, aString);
-+    if (!AppendUnicodeTo(mCurrentPosition, current, aString)) {
-+      return NS_ERROR_OUT_OF_MEMORY;
-+    }
-   }
- 
-   SetPosition(current);  
-   if (current == end) {
-     result = kEOF;
-   }
- 
-   //DoErrTest(aString);
-@@ -597,26 +601,30 @@ nsresult nsScanner::ReadEntityIdentifier
-         default:
-           found = ('a'<=theChar && theChar<='z') ||
-                   ('A'<=theChar && theChar<='Z') ||
-                   ('0'<=theChar && theChar<='9');
-           break;
-       }
- 
-       if(!found) {
--        AppendUnicodeTo(mCurrentPosition, current, aString);
-+        if (!AppendUnicodeTo(mCurrentPosition, current, aString)) {
-+          return NS_ERROR_OUT_OF_MEMORY;
-+        }
-         break;
-       }
-     }
-     ++current;
-   }
-   
-   SetPosition(current);
-   if (current == end) {
--    AppendUnicodeTo(origin, current, aString);
-+    if (!AppendUnicodeTo(origin, current, aString)) {
-+      return NS_ERROR_OUT_OF_MEMORY;
-+    }
-     return kEOF;
-   }
- 
-   //DoErrTest(aString);
- 
-   return result;
- }
- 
-@@ -646,26 +654,30 @@ nsresult nsScanner::ReadNumber(nsString&
-   while(current != end) {
-     theChar=*current;
-     if(theChar) {
-       done = (theChar < '0' || theChar > '9') && 
-              ((aBase == 16)? (theChar < 'A' || theChar > 'F') &&
-                              (theChar < 'a' || theChar > 'f')
-                              :true);
-       if(done) {
--        AppendUnicodeTo(origin, current, aString);
-+        if (!AppendUnicodeTo(origin, current, aString)) {
-+          return NS_ERROR_OUT_OF_MEMORY;
-+        }
-         break;
-       }
-     }
-     ++current;
-   }
- 
-   SetPosition(current);
-   if (current == end) {
--    AppendUnicodeTo(origin, current, aString);
-+    if (!AppendUnicodeTo(origin, current, aString)) {
-+      return NS_ERROR_OUT_OF_MEMORY;
-+    }
-     return kEOF;
-   }
- 
-   //DoErrTest(aString);
- 
-   return result;
- }
- 
-@@ -712,37 +724,43 @@ nsresult nsScanner::ReadWhitespace(nsSca
-           char16_t thePrevChar = theChar;
-           theChar = (++current != end) ? *current : '\0';
-           if ((thePrevChar == '\r' && theChar == '\n') ||
-               (thePrevChar == '\n' && theChar == '\r')) {
-             theChar = (++current != end) ? *current : '\0'; // CRLF == LFCR => LF
-             haveCR = true;
-           } else if (thePrevChar == '\r') {
-             // Lone CR becomes CRLF; callers should know to remove extra CRs
--            AppendUnicodeTo(origin, current, aString);
-+            if (!AppendUnicodeTo(origin, current, aString)) {
-+              return NS_ERROR_OUT_OF_MEMORY;
-+            }
-             aString.writable().Append(char16_t('\n'));
-             origin = current;
-             haveCR = true;
-           }
-         }
-         break;
-       case ' ' :
-       case '\t':
-         theChar = (++current != end) ? *current : '\0';
-         break;
-       default:
-         done = true;
--        AppendUnicodeTo(origin, current, aString);
-+        if (!AppendUnicodeTo(origin, current, aString)) {
-+          return NS_ERROR_OUT_OF_MEMORY;
-+        }
-         break;
-     }
-   }
- 
-   SetPosition(current);
-   if (current == end) {
--    AppendUnicodeTo(origin, current, aString);
-+    if (!AppendUnicodeTo(origin, current, aString)) {
-+      return NS_ERROR_OUT_OF_MEMORY;
-+    }
-     result = kEOF;
-   }
- 
-   aHaveCR = haveCR;
-   return result;
- }
- 
- //XXXbz callers of this have to manage their lone '\r' themselves if they want
-@@ -846,34 +864,38 @@ nsresult nsScanner::ReadUntil(nsAString&
-     if(!(theChar & aEndCondition.mFilter)) {
-       // They were. Do a thorough check.
- 
-       setcurrent = setstart;
-       while (*setcurrent) {
-         if (*setcurrent == theChar) {
-           if(addTerminal)
-             ++current;
--          AppendUnicodeTo(origin, current, aString);
-+          if (!AppendUnicodeTo(origin, current, aString)) {
-+            return NS_ERROR_OUT_OF_MEMORY;
-+          }
-           SetPosition(current);
- 
-           //DoErrTest(aString);
- 
-           return NS_OK;
-         }
-         ++setcurrent;
-       }
-     }
-     
-     ++current;
-   }
- 
-   // If we are here, we didn't find any terminator in the string and
-   // current = mEndPosition
-   SetPosition(current);
--  AppendUnicodeTo(origin, current, aString);
-+  if (!AppendUnicodeTo(origin, current, aString)) {
-+    return NS_ERROR_OUT_OF_MEMORY;
-+  }
-   return kEOF;
- }
- 
- nsresult nsScanner::ReadUntil(nsScannerSharedSubstring& aString,
-                               const nsReadEndCondition& aEndCondition,
-                               bool addTerminal)
- {  
-   if (!mSlidingBuffer) {
-@@ -906,34 +928,38 @@ nsresult nsScanner::ReadUntil(nsScannerS
-     if(!(theChar & aEndCondition.mFilter)) {
-       // They were. Do a thorough check.
- 
-       setcurrent = setstart;
-       while (*setcurrent) {
-         if (*setcurrent == theChar) {
-           if(addTerminal)
-             ++current;
--          AppendUnicodeTo(origin, current, aString);
-+          if (!AppendUnicodeTo(origin, current, aString)) {
-+            return NS_ERROR_OUT_OF_MEMORY;
-+          }
-           SetPosition(current);
- 
-           //DoErrTest(aString);
- 
-           return NS_OK;
-         }
-         ++setcurrent;
-       }
-     }
-     
-     ++current;
-   }
- 
-   // If we are here, we didn't find any terminator in the string and
-   // current = mEndPosition
-   SetPosition(current);
--  AppendUnicodeTo(origin, current, aString);
-+  if (!AppendUnicodeTo(origin, current, aString)) {
-+    return NS_ERROR_OUT_OF_MEMORY;
-+  }
-   return kEOF;
- }
- 
- nsresult nsScanner::ReadUntil(nsScannerIterator& aStart, 
-                               nsScannerIterator& aEnd,
-                               const nsReadEndCondition &aEndCondition,
-                               bool addTerminal)
- {
-@@ -1025,26 +1051,30 @@ nsresult nsScanner::ReadUntil(nsAString&
-     if (theChar == '\0') {
-       ReplaceCharacter(current, sInvalid);
-       theChar = sInvalid;
-     }
- 
-     if (aTerminalChar == theChar) {
-       if(addTerminal)
-         ++current;
--      AppendUnicodeTo(origin, current, aString);
-+      if (!AppendUnicodeTo(origin, current, aString)) {
-+        return NS_ERROR_OUT_OF_MEMORY;
-+      }
-       SetPosition(current);
-       return NS_OK;
-     }
-     ++current;
-   }
- 
-   // If we are here, we didn't find any terminator in the string and
-   // current = mEndPosition
--  AppendUnicodeTo(origin, current, aString);
-+  if (!AppendUnicodeTo(origin, current, aString)) {
-+    return NS_ERROR_OUT_OF_MEMORY;
-+  }
-   SetPosition(current);
-   return kEOF;
- 
- }
- 
- void nsScanner::BindSubstring(nsScannerSubstring& aSubstring, const nsScannerIterator& aStart, const nsScannerIterator& aEnd)
- {
-   aSubstring.Rebind(*mSlidingBuffer, aStart, aEnd);
-@@ -1142,29 +1172,29 @@ bool nsScanner::AppendToBuffer(nsScanner
- }
- 
- /**
-  *  call this to copy bytes out of the scanner that have not yet been consumed
-  *  by the tokenization process.
-  *  
-  *  @update  gess 5/12/98
-  *  @param   aCopyBuffer is where the scanner buffer will be copied to
-- *  @return  nada
-+ *  @return  true if OK or false on OOM
-  */
--void nsScanner::CopyUnusedData(nsString& aCopyBuffer) {
-+bool nsScanner::CopyUnusedData(nsString& aCopyBuffer) {
-   if (!mSlidingBuffer) {
-     aCopyBuffer.Truncate();
--    return;
-+    return true;
-   }
- 
-   nsScannerIterator start, end;
-   start = mCurrentPosition;
-   end = mEndPosition;
- 
--  CopyUnicodeTo(start, end, aCopyBuffer);
-+  return CopyUnicodeTo(start, end, aCopyBuffer);
- }
- 
- /**
-  *  Retrieve the name of the file that the scanner is reading from.
-  *  In some cases, it's just a given name, because the scanner isn't
-  *  really reading from a file.
-  *  
-  *  @update  gess 5/12/98
-diff --git a/parser/htmlparser/nsScanner.h b/parser/htmlparser/nsScanner.h
---- a/parser/htmlparser/nsScanner.h
-+++ b/parser/htmlparser/nsScanner.h
-@@ -204,19 +204,19 @@ class nsScanner {
-                       nsIRequest *aRequest);
- 
-       /**
-        *  Call this to copy bytes out of the scanner that have not yet been consumed
-        *  by the tokenization process.
-        *  
-        *  @update  gess 5/12/98
-        *  @param   aCopyBuffer is where the scanner buffer will be copied to
--       *  @return  nada
-+       *  @return  true if OK or false on OOM
-        */
--      void CopyUnusedData(nsString& aCopyBuffer);
-+      bool CopyUnusedData(nsString& aCopyBuffer);
- 
-       /**
-        *  Retrieve the name of the file that the scanner is reading from.
-        *  In some cases, it's just a given name, because the scanner isn't
-        *  really reading from a file.
-        *  
-        *  @update  gess 5/12/98
-        *  @return  
-diff --git a/parser/htmlparser/nsScannerString.cpp b/parser/htmlparser/nsScannerString.cpp
---- a/parser/htmlparser/nsScannerString.cpp
-+++ b/parser/htmlparser/nsScannerString.cpp
-@@ -461,61 +461,63 @@ copy_multifragment_string( nsScannerIter
-         sink_traits::write(result, source_traits::read(first), distance);
-         NS_ASSERTION(distance > 0, "|copy_multifragment_string| will never terminate");
-         source_traits::advance(first, distance);
-       }
- 
-     return result;
-   }
- 
--void
-+bool
- CopyUnicodeTo( const nsScannerIterator& aSrcStart,
-                const nsScannerIterator& aSrcEnd,
-                nsAString& aDest )
-   {
-     nsAString::iterator writer;
-     if (!aDest.SetLength(Distance(aSrcStart, aSrcEnd), mozilla::fallible)) {
-       aDest.Truncate();
--      return; // out of memory
-+      return false; // out of memory
-     }
-     aDest.BeginWriting(writer);
-     nsScannerIterator fromBegin(aSrcStart);
-     
-     copy_multifragment_string(fromBegin, aSrcEnd, writer);
-+    return true;
-   }
- 
--void
-+bool
- AppendUnicodeTo( const nsScannerIterator& aSrcStart,
-                  const nsScannerIterator& aSrcEnd,
-                  nsScannerSharedSubstring& aDest )
-   {
-     // Check whether we can just create a dependent string.
-     if (aDest.str().IsEmpty()) {
-       // We can just make |aDest| point to the buffer.
-       // This will take care of copying if the buffer spans fragments.
-       aDest.Rebind(aSrcStart, aSrcEnd);
--    } else {
--      // The dest string is not empty, so it can't be a dependent substring.
--      AppendUnicodeTo(aSrcStart, aSrcEnd, aDest.writable());
-+      return true;
-     }
-+    // The dest string is not empty, so it can't be a dependent substring.
-+    return AppendUnicodeTo(aSrcStart, aSrcEnd, aDest.writable());
-   }
- 
--void
-+bool
- AppendUnicodeTo( const nsScannerIterator& aSrcStart,
-                  const nsScannerIterator& aSrcEnd,
-                  nsAString& aDest )
-   {
-     nsAString::iterator writer;
-     uint32_t oldLength = aDest.Length();
-     if (!aDest.SetLength(oldLength + Distance(aSrcStart, aSrcEnd), mozilla::fallible))
--      return; // out of memory
-+      return false; // out of memory
-     aDest.BeginWriting(writer).advance(oldLength);
-     nsScannerIterator fromBegin(aSrcStart);
-     
-     copy_multifragment_string(fromBegin, aSrcEnd, writer);
-+    return true;
-   }
- 
- bool
- FindCharInReadable( char16_t aChar,
-                     nsScannerIterator& aSearchStart,
-                     const nsScannerIterator& aSearchEnd )
-   {
-     while ( aSearchStart != aSearchEnd )
-diff --git a/parser/htmlparser/nsScannerString.h b/parser/htmlparser/nsScannerString.h
---- a/parser/htmlparser/nsScannerString.h
-+++ b/parser/htmlparser/nsScannerString.h
-@@ -539,43 +539,43 @@ nsScannerBufferList::Position::operator=
- inline
- size_t
- Distance( const nsScannerIterator& aStart, const nsScannerIterator& aEnd )
-   {
-     typedef nsScannerBufferList::Position Position;
-     return Position::Distance(Position(aStart), Position(aEnd));
-   }
- 
--void
-+bool
- CopyUnicodeTo( const nsScannerIterator& aSrcStart,
-                const nsScannerIterator& aSrcEnd,
-                nsAString& aDest );
- 
- inline
--void
-+bool
- CopyUnicodeTo( const nsScannerSubstring& aSrc, nsAString& aDest )
-   {
-     nsScannerIterator begin, end;
--    CopyUnicodeTo(aSrc.BeginReading(begin), aSrc.EndReading(end), aDest);
-+    return CopyUnicodeTo(aSrc.BeginReading(begin), aSrc.EndReading(end), aDest);
-   }
- 
--void
-+bool
- AppendUnicodeTo( const nsScannerIterator& aSrcStart,
-                  const nsScannerIterator& aSrcEnd,
-                  nsAString& aDest );
- 
- inline
--void
-+bool
- AppendUnicodeTo( const nsScannerSubstring& aSrc, nsAString& aDest )
-   {
-     nsScannerIterator begin, end;
--    AppendUnicodeTo(aSrc.BeginReading(begin), aSrc.EndReading(end), aDest);
-+    return AppendUnicodeTo(aSrc.BeginReading(begin), aSrc.EndReading(end), aDest);
-   }
- 
--void
-+bool
- AppendUnicodeTo( const nsScannerIterator& aSrcStart,
-                  const nsScannerIterator& aSrcEnd,
-                  nsScannerSharedSubstring& aDest );
- 
- bool
- FindCharInReadable( char16_t aChar,
-                     nsScannerIterator& aStart,
-                     const nsScannerIterator& aEnd );
-