<pre style='margin:0'>
Marius Schamschula (Schamschula) pushed a commit to branch master
in repository macports-ports.

</pre>
<p><a href="https://github.com/macports/macports-ports/commit/6c72e269604b8336cb4462433661541e5de2237e">https://github.com/macports/macports-ports/commit/6c72e269604b8336cb4462433661541e5de2237e</a></p>
<pre style="white-space: pre; background: #F8F8F8">The following commit(s) were added to refs/heads/master by this push:
<span style='display:block; white-space:pre;color:#404040;'>     new 6c72e26  expat: security update to version 2.2.1
</span>6c72e26 is described below

<span style='display:block; white-space:pre;color:#808000;'>commit 6c72e269604b8336cb4462433661541e5de2237e
</span>Author: Marius Schamschula <mps@macports.org>
AuthorDate: Fri Jun 23 16:27:50 2017 -0500

<span style='display:block; white-space:pre;color:#404040;'>    expat: security update to version 2.2.1
</span><span style='display:block; white-space:pre;color:#404040;'>    
</span><span style='display:block; white-space:pre;color:#404040;'>    See: https://github.com/libexpat/libexpat/blob/R_2_2_1/expat/Changes
</span>---
 textproc/expat/Portfile                        |   8 +-
 textproc/expat/files/patch-lib-xmlparse.c.diff | 161 +++++++++++++++++++++++++
 2 files changed, 166 insertions(+), 3 deletions(-)

<span style='display:block; white-space:pre;color:#808080;'>diff --git a/textproc/expat/Portfile b/textproc/expat/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index 9e40353..da45ae4 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/textproc/expat/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/textproc/expat/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -3,7 +3,7 @@
</span> PortSystem          1.0
 
 name                expat
<span style='display:block; white-space:pre;background:#ffe0e0;'>-version             2.2.0
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+version             2.2.1
</span> categories          textproc devel
 platforms           darwin freebsd
 maintainers         ryandesign openmaintainer
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -19,12 +19,14 @@ long_description    Expat is an XML parser library written in C. It is a \
</span> homepage            http://www.libexpat.org/
 master_sites        sourceforge:project/${name}/${name}/${version}
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-checksums           rmd160  fb4ff9f78c8f09019f571758f8d559a3c640002f \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                    sha256  d9e50ff2d19b3538bd2127902a89987474e1a4db8e43a66a4d1a712ab9a504ff
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+checksums           rmd160  3c8e8e8c73775706d88b4938f514d85b49eac182 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    sha256  1868cadae4c82a018e361e2b2091de103cd820aaacb0d6cfa49bd2cd83978885
</span> 
 use_bzip2           yes
 use_parallel_build  yes
 
<span style='display:block; white-space:pre;background:#e0ffe0;'>+patchfiles          patch-lib-xmlparse.c.diff
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span> test.run            yes
 test.target         check
 
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/textproc/expat/files/patch-lib-xmlparse.c.diff b/textproc/expat/files/patch-lib-xmlparse.c.diff
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 0000000..a73cadd
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/textproc/expat/files/patch-lib-xmlparse.c.diff
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,161 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- lib/xmlparse.c.orig    2017-06-17 11:07:38.000000000 -0500
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ lib/xmlparse.c 2017-06-20 20:28:38.000000000 -0500
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -623,7 +623,7 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #define defaultExpandInternalEntities \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+         (parser->m_defaultExpandInternalEntities)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #define tagLevel (parser->m_tagLevel)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-#define buffer (parser->m_buffer)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#define xbuffer (parser->m_buffer)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #define bufferPtr (parser->m_bufferPtr)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #define bufferEnd (parser->m_bufferEnd)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #define parseEndByteIndex (parser->m_parseEndByteIndex)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -901,7 +901,7 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   if (!parser)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     return parser;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-  buffer = NULL;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  xbuffer = NULL;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   bufferLim = NULL;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   attsSize = INIT_ATTS_SIZE;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -1017,8 +1017,8 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   attlistDeclHandler = NULL;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   entityDeclHandler = NULL;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   xmlDeclHandler = NULL;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-  bufferPtr = buffer;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-  bufferEnd = buffer;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  bufferPtr = xbuffer;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  bufferEnd = xbuffer;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   parseEndByteIndex = 0;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   parseEndPtr = NULL;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   declElementType = NULL;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -1371,7 +1371,7 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   FREE((void *)attInfo);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #endif
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   FREE(groupConnector);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-  FREE(buffer);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  FREE(xbuffer);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   FREE(dataBuf);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   FREE(nsAtts);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   FREE(unknownEncodingMem);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -1841,14 +1841,14 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     XmlUpdatePosition(encoding, positionPtr, end, &position);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     nLeftOver = s + len - end;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     if (nLeftOver) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-      if (buffer == NULL || nLeftOver > bufferLim - buffer) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++      if (xbuffer == NULL || nLeftOver > bufferLim - xbuffer) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+         /* avoid _signed_ integer overflow */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+         char *temp = NULL;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+         const int bytesToAllocate = (int)((unsigned)len * 2U);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+         if (bytesToAllocate > 0) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-          temp = (buffer == NULL
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++          temp = (xbuffer == NULL
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                 ? (char *)MALLOC(bytesToAllocate)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-                : (char *)REALLOC(buffer, bytesToAllocate));
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++                : (char *)REALLOC(xbuffer, bytesToAllocate));
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+         }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+         if (temp == NULL) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+           errorCode = XML_ERROR_NO_MEMORY;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -1856,13 +1856,13 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+           processor = errorProcessor;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+           return XML_STATUS_ERROR;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+         }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-        buffer = temp;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-        bufferLim = buffer + bytesToAllocate;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++        xbuffer = temp;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++        bufferLim = xbuffer + bytesToAllocate;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+       }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-      memcpy(buffer, end, nLeftOver);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++      memcpy(xbuffer, end, nLeftOver);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-    bufferPtr = buffer;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-    bufferEnd = buffer + nLeftOver;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    bufferPtr = xbuffer;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    bufferEnd = xbuffer + nLeftOver;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     positionPtr = bufferPtr;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     parseEndPtr = bufferEnd;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     eventPtr = bufferPtr;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -1969,23 +1969,23 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+       return NULL;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #ifdef XML_CONTEXT_BYTES
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-    keep = (int)(bufferPtr - buffer);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    keep = (int)(bufferPtr - xbuffer);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     if (keep > XML_CONTEXT_BYTES)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+       keep = XML_CONTEXT_BYTES;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     neededSize += keep;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #endif  /* defined XML_CONTEXT_BYTES */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-    if (neededSize  <= bufferLim - buffer) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    if (neededSize  <= bufferLim - xbuffer) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #ifdef XML_CONTEXT_BYTES
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-      if (keep < bufferPtr - buffer) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-        int offset = (int)(bufferPtr - buffer) - keep;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-        memmove(buffer, &buffer[offset], bufferEnd - bufferPtr + keep);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++      if (keep < bufferPtr - xbuffer) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++        int offset = (int)(bufferPtr - xbuffer) - keep;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++        memmove(xbuffer, &xbuffer[offset], bufferEnd - bufferPtr + keep);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+         bufferEnd -= offset;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+         bufferPtr -= offset;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+       }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-      memmove(buffer, bufferPtr, bufferEnd - bufferPtr);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-      bufferEnd = buffer + (bufferEnd - bufferPtr);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-      bufferPtr = buffer;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++      memmove(xbuffer, bufferPtr, bufferEnd - bufferPtr);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++      bufferEnd = xbuffer + (bufferEnd - bufferPtr);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++      bufferPtr = xbuffer;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #endif  /* not defined XML_CONTEXT_BYTES */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     else {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -2009,26 +2009,26 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+       bufferLim = newBuf + bufferSize;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #ifdef XML_CONTEXT_BYTES
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+       if (bufferPtr) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-        int keep = (int)(bufferPtr - buffer);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++        int keep = (int)(bufferPtr - xbuffer);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+         if (keep > XML_CONTEXT_BYTES)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+           keep = XML_CONTEXT_BYTES;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+         memcpy(newBuf, &bufferPtr[-keep], bufferEnd - bufferPtr + keep);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-        FREE(buffer);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-        buffer = newBuf;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-        bufferEnd = buffer + (bufferEnd - bufferPtr) + keep;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-        bufferPtr = buffer + keep;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++        FREE(xbuffer);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++        xbuffer = newBuf;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++        bufferEnd = xbuffer + (bufferEnd - bufferPtr) + keep;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++        bufferPtr = xbuffer + keep;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+       }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+       else {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+         bufferEnd = newBuf + (bufferEnd - bufferPtr);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-        bufferPtr = buffer = newBuf;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++        bufferPtr = xbuffer = newBuf;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+       }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+       if (bufferPtr) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+         memcpy(newBuf, bufferPtr, bufferEnd - bufferPtr);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-        FREE(buffer);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++        FREE(xbuffer);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+       }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+       bufferEnd = newBuf + (bufferEnd - bufferPtr);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-      bufferPtr = buffer = newBuf;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++      bufferPtr = xbuffer = newBuf;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #endif  /* not defined XML_CONTEXT_BYTES */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     eventPtr = eventEndPtr = NULL;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -2152,12 +2152,12 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #ifdef XML_CONTEXT_BYTES
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   if (parser == NULL)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     return NULL;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-  if (eventPtr && buffer) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  if (eventPtr && xbuffer) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     if (offset != NULL)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-      *offset = (int)(eventPtr - buffer);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++      *offset = (int)(eventPtr - xbuffer);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     if (size != NULL)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-      *size   = (int)(bufferEnd - buffer);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-    return buffer;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++      *size   = (int)(bufferEnd - xbuffer);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    return xbuffer;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   (void)parser;
</span></pre><pre style='margin:0'>

</pre>