<html>
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  </head>
  <body text="#000000" bgcolor="#FFFFFF">
    <div class="moz-cite-prefix">Done.</div>
    <div class="moz-cite-prefix"><br>
    </div>
    <div class="moz-cite-prefix">-</div>
    <div class="moz-cite-prefix">Lionel<br>
    </div>
    <div class="moz-cite-prefix"><br>
    </div>
    <div class="moz-cite-prefix">On 03/09/2018 08:55, andrey simiklit
      wrote:<br>
    </div>
    <blockquote type="cite"
cite="mid:CAHfu=gKo5PE9WT-MCynbMJqanFDEHRyRFrtDmPWNW1Yu-=C54A@mail.gmail.com">
      <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
      <div dir="ltr">
        <div dir="ltr">Hi all,<br>
          <br>
          Could somebody push this small patch to mesa?<br>
          <br>
          Regards,<br>
          Andrii.
          <div>
            <div class="gmail_quote">
              <div dir="ltr">On Mon, Aug 20, 2018 at 9:13 PM Lionel
                Landwerlin <<a
                  href="mailto:lionel.g.landwerlin@intel.com"
                  moz-do-not-send="true">lionel.g.landwerlin@intel.com</a>>
                wrote:<br>
              </div>
              <blockquote class="gmail_quote" style="margin:0px 0px 0px
                0.8ex;border-left:1px solid
                rgb(204,204,204);padding-left:1ex">On 20/08/2018 17:20,
                <a href="mailto:asimiklit.work@gmail.com"
                  target="_blank" moz-do-not-send="true">asimiklit.work@gmail.com</a>
                wrote:<br>
                > From: Andrii Simiklit <<a
                  href="mailto:andrii.simiklit@globallogic.com"
                  target="_blank" moz-do-not-send="true">andrii.simiklit@globallogic.com</a>><br>
                ><br>
                > The "gen_group_get_length" function can return a
                negative value<br>
                > and it can lead to the out of bounds group_iter.<br>
                ><br>
                > v2: printing of "unknown command type" was added<br>
                > v3: just the asserts are added<br>
                ><br>
                > Signed-off-by: Andrii Simiklit <<a
                  href="mailto:andrii.simiklit@globallogic.com"
                  target="_blank" moz-do-not-send="true">andrii.simiklit@globallogic.com</a>><br>
                <br>
                Reviewed-by: Lionel Landwerlin <<a
                  href="mailto:lionel.g.landwerlin@intel.com"
                  target="_blank" moz-do-not-send="true">lionel.g.landwerlin@intel.com</a>><br>
                <br>
                Somebody should take a look at the other patches I sent
                out ;)<br>
                Thanks!<br>
                <br>
                -<br>
                Lionel<br>
                > ---<br>
                >   src/intel/common/gen_decoder.c | 5 ++++-<br>
                >   1 file changed, 4 insertions(+), 1 deletion(-)<br>
                ><br>
                > diff --git a/src/intel/common/gen_decoder.c
                b/src/intel/common/gen_decoder.c<br>
                > index ec0a486..2d9609a 100644<br>
                > --- a/src/intel/common/gen_decoder.c<br>
                > +++ b/src/intel/common/gen_decoder.c<br>
                > @@ -803,8 +803,10 @@ static bool<br>
                >   iter_more_groups(const struct gen_field_iterator
                *iter)<br>
                >   {<br>
                >      if (iter->group->variable) {<br>
                > +      int length =
                gen_group_get_length(iter->group, iter->p);<br>
                > +      assert(length >= 0 && "error the
                length is unknown!");<br>
                >         return iter_group_offset_bits(iter,
                iter->group_iter + 1) <<br>
                > -             
                (gen_group_get_length(iter->group, iter->p) * 32);<br>
                > +              (length * 32);<br>
                >      } else {<br>
                >         return (iter->group_iter + 1) <
                iter->group->group_count ||<br>
                >            iter->group->next != NULL;<br>
                > @@ -991,6 +993,7 @@ gen_field_iterator_init(struct
                gen_field_iterator *iter,<br>
                >      iter->p_bit = p_bit;<br>
                >   <br>
                >      int length =
                gen_group_get_length(iter->group, iter->p);<br>
                > +   assert(length >= 0 && "error the
                length is unknown!");<br>
                >      iter->p_end = length > 0 ?
                &p[length] : NULL;<br>
                >      iter->print_colors = print_colors;<br>
                >   }<br>
                <br>
                <br>
              </blockquote>
            </div>
          </div>
        </div>
      </div>
    </blockquote>
    <p><br>
    </p>
  </body>
</html>