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> wrote: > On 20/08/2018 17:20, asimiklit.w...@gmail.com wrote: > > From: Andrii Simiklit <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> > > Reviewed-by: Lionel Landwerlin <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