Done.

-
Lionel

On 03/09/2018 08:55, andrey simiklit wrote:
Hi all,

Could somebody push this small patch to mesa?

Regards,
Andrii.
On Mon, Aug 20, 2018 at 9:13 PM Lionel Landwerlin <lionel.g.landwer...@intel.com <mailto:lionel.g.landwer...@intel.com>> wrote:

    On 20/08/2018 17:20, asimiklit.w...@gmail.com
    <mailto:asimiklit.w...@gmail.com> wrote:
    > From: Andrii Simiklit <andrii.simik...@globallogic.com
    <mailto:andrii.simik...@globallogic.com>>
    >
    > The "gen_group_get_length" function can return a negative value
    > and it can lead to the out of bounds group_iter.
    >
    > v2: printing of "unknown command type" was added
    > v3: just the asserts are added
    >
    > Signed-off-by: Andrii Simiklit <andrii.simik...@globallogic.com
    <mailto:andrii.simik...@globallogic.com>>

    Reviewed-by: Lionel Landwerlin <lionel.g.landwer...@intel.com
    <mailto:lionel.g.landwer...@intel.com>>

    Somebody should take a look at the other patches I sent out ;)
    Thanks!

    -
    Lionel
    > ---
    >   src/intel/common/gen_decoder.c | 5 ++++-
    >   1 file changed, 4 insertions(+), 1 deletion(-)
    >
    > diff --git a/src/intel/common/gen_decoder.c
    b/src/intel/common/gen_decoder.c
    > index ec0a486..2d9609a 100644
    > --- a/src/intel/common/gen_decoder.c
    > +++ b/src/intel/common/gen_decoder.c
    > @@ -803,8 +803,10 @@ static bool
    >   iter_more_groups(const struct gen_field_iterator *iter)
    >   {
    >      if (iter->group->variable) {
    > +      int length = gen_group_get_length(iter->group, iter->p);
    > +      assert(length >= 0 && "error the length is unknown!");
    >         return iter_group_offset_bits(iter, iter->group_iter + 1) <
    > - (gen_group_get_length(iter->group, iter->p) * 32);
    > +              (length * 32);
    >      } else {
    >         return (iter->group_iter + 1) < iter->group->group_count ||
    >            iter->group->next != NULL;
    > @@ -991,6 +993,7 @@ gen_field_iterator_init(struct
    gen_field_iterator *iter,
    >      iter->p_bit = p_bit;
    >
    >      int length = gen_group_get_length(iter->group, iter->p);
    > +   assert(length >= 0 && "error the length is unknown!");
    >      iter->p_end = length > 0 ? &p[length] : NULL;
    >      iter->print_colors = print_colors;
    >   }



_______________________________________________
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/mesa-dev

Reply via email to