<html>
  <head>
    <meta content="text/html; charset=utf-8" http-equiv="Content-Type">
  </head>
  <body text="#000000" bgcolor="#FFFFFF">
    <div class="moz-cite-prefix">On 2015年10月28日 17:41, Jussi Kukkonen
      wrote:<br>
    </div>
    <blockquote
cite="mid:CAHiDW_EvNU3w7gKaz1N_=ZZU+wfGkf696i78TZf3-PZbGaRTrg@mail.gmail.com"
      type="cite">
      <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
      <div dir="ltr"><br>
        <div class="gmail_extra"><br>
          <div class="gmail_quote">On 28 October 2015 at 07:22, <span
              dir="ltr">&lt;<a moz-do-not-send="true"
                href="mailto:kai.kang@windriver.com" target="_blank">kai.kang@windriver.com</a>&gt;</span>
            wrote:<br>
            <blockquote class="gmail_quote" style="margin:0 0 0
              .8ex;border-left:1px #ccc solid;padding-left:1ex">From:
              Kai Kang &lt;<a moz-do-not-send="true"
                href="mailto:kai.kang@windriver.com">kai.kang@windriver.com</a>&gt;<br>
              <br>
              Backport patch from:<br>
              <br>
              <a moz-do-not-send="true"
                href="https://bugzilla.gnome.org/show_bug.cgi?id=746048"
                rel="noreferrer" target="_blank">https://bugzilla.gnome.org/show_bug.cgi?id=746048</a><br>
              <br>
              to fix valgrind errors and unsafe memory access.<br>
              <br>
              Fix the indentation by the way.<br>
              <br>
              Signed-off-by: Kai Kang &lt;<a moz-do-not-send="true"
                href="mailto:kai.kang@windriver.com">kai.kang@windriver.com</a>&gt;<br>
              ---<br>
               .../libxml2/libxml2-fix-unsafe-memory-access.patch | 97
              ++++++++++++++++++++++<br>
               meta/recipes-core/libxml/<a moz-do-not-send="true"
                href="http://libxml2_2.9.2.bb" rel="noreferrer"
                target="_blank">libxml2_2.9.2.bb</a>          |  3 +-<br>
               2 files changed, 99 insertions(+), 1 deletion(-)<br>
               create mode 100644
              meta/recipes-core/libxml/libxml2/libxml2-fix-unsafe-memory-access.patch<br>
              <br>
              diff --git
              a/meta/recipes-core/libxml/libxml2/libxml2-fix-unsafe-memory-access.patch
b/meta/recipes-core/libxml/libxml2/libxml2-fix-unsafe-memory-access.patch<br>
              new file mode 100644<br>
              index 0000000..b583032<br>
              --- /dev/null<br>
              +++
b/meta/recipes-core/libxml/libxml2/libxml2-fix-unsafe-memory-access.patch<br>
              @@ -0,0 +1,97 @@<br>
              +Upstream-Status: Backport<br>
            </blockquote>
            <div><br>
            </div>
            <div>This may be a nitpick but I don't think DV has taken
              this patch in the six months it's been available so it's
              not a backport.</div>
          </div>
        </div>
      </div>
    </blockquote>
    <br>
    I suppose Backport is the best choice in upstream status [ Pending
    Submitted Accepted Backport Denied Inappropriate ]. Though it is not
    from official upstream, it is from somewhere else as listed in the
    patch.<br>
    <br>
    Thanks.<br>
    <br>
    --Kai<br>
    <br>
    <blockquote
cite="mid:CAHiDW_EvNU3w7gKaz1N_=ZZU+wfGkf696i78TZf3-PZbGaRTrg@mail.gmail.com"
      type="cite">
      <div dir="ltr">
        <div class="gmail_extra">
          <div class="gmail_quote">
            <div><br>
            </div>
            <div> - Jussi </div>
            <div><br>
            </div>
            <blockquote class="gmail_quote" style="margin:0 0 0
              .8ex;border-left:1px #ccc solid;padding-left:1ex">+<br>
              +Backport from<br>
              +<br>
              +<a moz-do-not-send="true"
                href="https://bugzilla.gnome.org/show_bug.cgi?id=746048"
                rel="noreferrer" target="_blank">https://bugzilla.gnome.org/show_bug.cgi?id=746048</a><br>
              +<br>
              +to fix unsafe memory access.<br>
              +<br>
              +Signed-off-by: Kai Kang &lt;<a moz-do-not-send="true"
                href="mailto:kai.kang@windriver.com">kai.kang@windriver.com</a>&gt;<br>
              +---<br>
              +diff --git a/HTMLparser.c b/HTMLparser.c<br>
              +index d329d3b..6f81424 100644<br>
              +--- a/HTMLparser.c<br>
              ++++ b/HTMLparser.c<br>
              +@@ -3245,13 +3245,20 @@
              htmlParseComment(htmlParserCtxtPtr ctxt) {<br>
              +       ctxt-&gt;instate = state;<br>
              +       return;<br>
              +     }<br>
              ++    if ((ctxt-&gt;input-&gt;end -
              ctxt-&gt;input-&gt;cur) &lt; 3) {<br>
              ++        ctxt-&gt;instate = XML_PARSER_EOF;<br>
              ++        htmlParseErr(ctxt, XML_ERR_COMMENT_NOT_FINISHED,<br>
              ++                     "Comment not terminated\n", NULL,
              NULL);<br>
              ++        xmlFree(buf);<br>
              ++        return;<br>
              ++    }<br>
              +     q = CUR_CHAR(ql);<br>
              +     NEXTL(ql);<br>
              +     r = CUR_CHAR(rl);<br>
              +     NEXTL(rl);<br>
              +     cur = CUR_CHAR(l);<br>
              +     len = 0;<br>
              +-    while (IS_CHAR(cur) &amp;&amp;<br>
              ++    while (((ctxt-&gt;input-&gt;end -
              ctxt-&gt;input-&gt;cur) &gt; 0) &amp;&amp; IS_CHAR(cur)
              &amp;&amp;<br>
              +            ((cur != '&gt;') ||<br>
              +           (r != '-') || (q != '-'))) {<br>
              +       if (len + 5 &gt;= size) {<br>
              +@@ -3281,7 +3288,7 @@ htmlParseComment(htmlParserCtxtPtr
              ctxt) {<br>
              +       }<br>
              +     }<br>
              +     buf[len] = 0;<br>
              +-    if (!IS_CHAR(cur)) {<br>
              ++    if (!(ctxt-&gt;input-&gt;end -
              ctxt-&gt;input-&gt;cur) || !IS_CHAR(cur)) {<br>
              +       htmlParseErr(ctxt, XML_ERR_COMMENT_NOT_FINISHED,<br>
              +                    "Comment not terminated
              \n&lt;!--%.50s\n", buf, NULL);<br>
              +       xmlFree(buf);<br>
              +@@ -4465,6 +4472,7 @@
              htmlParseContentInternal(htmlParserCtxtPtr ctxt) {<br>
              +     depth = ctxt-&gt;nameNr;<br>
              +     while (1) {<br>
              +       long cons = ctxt-&gt;nbChars;<br>
              ++    long rem = ctxt-&gt;input-&gt;end -
              ctxt-&gt;input-&gt;cur;<br>
              +<br>
              +         GROW;<br>
              +<br>
              +@@ -4540,7 +4548,7 @@
              htmlParseContentInternal(htmlParserCtxtPtr ctxt) {<br>
              +           /*<br>
              +            * Sometimes DOCTYPE arrives in the middle of
              the document<br>
              +            */<br>
              +-          if ((CUR == '&lt;') &amp;&amp; (NXT(1) == '!')
              &amp;&amp;<br>
              ++          if ((rem &gt;= 9) &amp;&amp; (CUR == '&lt;')
              &amp;&amp; (NXT(1) == '!') &amp;&amp;<br>
              +               (UPP(2) == 'D') &amp;&amp; (UPP(3) == 'O')
              &amp;&amp;<br>
              +               (UPP(4) == 'C') &amp;&amp; (UPP(5) == 'T')
              &amp;&amp;<br>
              +               (UPP(6) == 'Y') &amp;&amp; (UPP(7) == 'P')
              &amp;&amp;<br>
              +@@ -4554,7 +4562,7 @@
              htmlParseContentInternal(htmlParserCtxtPtr ctxt) {<br>
              +           /*<br>
              +            * First case :  a comment<br>
              +            */<br>
              +-          if ((CUR == '&lt;') &amp;&amp; (NXT(1) == '!')
              &amp;&amp;<br>
              ++          if ((rem &gt;= 4) &amp;&amp; (CUR == '&lt;')
              &amp;&amp; (NXT(1) == '!') &amp;&amp;<br>
              +               (NXT(2) == '-') &amp;&amp; (NXT(3) ==
              '-')) {<br>
              +               htmlParseComment(ctxt);<br>
              +           }<br>
              +@@ -4562,14 +4570,14 @@
              htmlParseContentInternal(htmlParserCtxtPtr ctxt) {<br>
              +           /*<br>
              +            * Second case : a Processing Instruction.<br>
              +            */<br>
              +-          else if ((CUR == '&lt;') &amp;&amp; (NXT(1) ==
              '?')) {<br>
              ++          else if ((rem &gt;= 2) &amp;&amp; (CUR ==
              '&lt;') &amp;&amp; (NXT(1) == '?')) {<br>
              +               htmlParsePI(ctxt);<br>
              +           }<br>
              +<br>
              +           /*<br>
              +            * Third case :  a sub-element.<br>
              +            */<br>
              +-          else if (CUR == '&lt;') {<br>
              ++          else if ((rem &gt;= 1) &amp;&amp; (CUR ==
              '&lt;')) {<br>
              +               htmlParseElementInternal(ctxt);<br>
              +               if (currentNode != NULL)
              xmlFree(currentNode);<br>
              +<br>
              +@@ -4581,7 +4589,7 @@
              htmlParseContentInternal(htmlParserCtxtPtr ctxt) {<br>
              +            * Fourth case : a reference. If if has not
              been resolved,<br>
              +            *    parsing returns it's Name, create the
              node<br>
              +            */<br>
              +-          else if (CUR == '&amp;') {<br>
              ++          else if ((rem &gt;= 1) &amp;&amp; (CUR ==
              '&amp;')) {<br>
              +               htmlParseReference(ctxt);<br>
              +           }<br>
              +<br>
              diff --git a/meta/recipes-core/libxml/<a
                moz-do-not-send="true" href="http://libxml2_2.9.2.bb"
                rel="noreferrer" target="_blank">libxml2_2.9.2.bb</a>
              b/meta/recipes-core/libxml/<a moz-do-not-send="true"
                href="http://libxml2_2.9.2.bb" rel="noreferrer"
                target="_blank">libxml2_2.9.2.bb</a><br>
              index 79a395c..4cafc87 100644<br>
              --- a/meta/recipes-core/libxml/<a moz-do-not-send="true"
                href="http://libxml2_2.9.2.bb" rel="noreferrer"
                target="_blank">libxml2_2.9.2.bb</a><br>
              +++ b/meta/recipes-core/libxml/<a moz-do-not-send="true"
                href="http://libxml2_2.9.2.bb" rel="noreferrer"
                target="_blank">libxml2_2.9.2.bb</a><br>
              @@ -2,7 +2,8 @@ require libxml2.inc<br>
              <br>
               SRC_URI += "<a moz-do-not-send="true"
                href="http://www.w3.org/XML/Test/xmlts20080827.tar.gz;name=testtar"
                rel="noreferrer" target="_blank">http://www.w3.org/XML/Test/xmlts20080827.tar.gz;name=testtar</a>
              \<br>
                         
               <a class="moz-txt-link-freetext" href="file://72a46a519ce7326d9a00f0b6a7f2a8e958cd1675.patch">file://72a46a519ce7326d9a00f0b6a7f2a8e958cd1675.patch</a> \<br>
              -         
               <a class="moz-txt-link-freetext" href="file://0001-threads-Define-pthread-definitions-for-glibc-complia.patch">file://0001-threads-Define-pthread-definitions-for-glibc-complia.patch</a>
              \<br>
              +           
              <a class="moz-txt-link-freetext" href="file://0001-threads-Define-pthread-definitions-for-glibc-complia.patch">file://0001-threads-Define-pthread-definitions-for-glibc-complia.patch</a>
              \<br>
              +            <a class="moz-txt-link-freetext" href="file://libxml2-fix-unsafe-memory-access.patch">file://libxml2-fix-unsafe-memory-access.patch</a>
              \<br>
                         "<br>
              <br>
               SRC_URI[libtar.md5sum] =
              "9e6a9aca9d155737868b3dc5fd82f788"<br>
              <span class="HOEnZb"><font color="#888888">--<br>
                  2.6.1<br>
                  <br>
                  --<br>
                  _______________________________________________<br>
                  Openembedded-core mailing list<br>
                  <a moz-do-not-send="true"
                    href="mailto:Openembedded-core@lists.openembedded.org">Openembedded-core@lists.openembedded.org</a><br>
                  <a moz-do-not-send="true"
                    href="http://lists.openembedded.org/mailman/listinfo/openembedded-core"
                    rel="noreferrer" target="_blank">http://lists.openembedded.org/mailman/listinfo/openembedded-core</a><br>
                </font></span></blockquote>
          </div>
          <br>
        </div>
      </div>
    </blockquote>
    <br>
    <br>
    <pre class="moz-signature" cols="72">-- 
Regards,
Neil | Kai Kang</pre>
  </body>
</html>