ir3: fix oob access to regs array for getbuf,getinfo,rgetinfo
authorDanylo Piliaiev <dpiliaiev@igalia.com>
Mon, 15 Mar 2021 18:32:52 +0000 (20:32 +0200)
committerMarge Bot <eric+marge@anholt.net>
Tue, 16 Mar 2021 22:36:12 +0000 (22:36 +0000)
Since they have zero source registers, src->regs[1] is out of bounds.
It probably wasn't able to cause any harm, but it's always better
be safe.

Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/4209

Signed-off-by: Danylo Piliaiev <dpiliaiev@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9609>

src/freedreno/isa/ir3-cat5.xml

index 2568f40..92697f6 100644 (file)
@@ -157,7 +157,7 @@ SOFTWARE.
                 -->
                <map name="SRC1">extract_cat5_SRC(src, 1)</map>
                <map name="SRC2">extract_cat5_SRC(src, 2)</map>
-               <map name="SRC3">src->regs[1]</map>
+               <map name="SRC3">(src->regs_count > 1) ? src->regs[1] : NULL</map>
        </encode>
 </bitset>