drm/bridge: sii902x: re-order conditions to prevent out of bounds read
authorDan Carpenter <dan.carpenter@oracle.com>
Fri, 7 Jun 2019 07:27:04 +0000 (10:27 +0300)
committerAndrzej Hajda <a.hajda@samsung.com>
Fri, 7 Jun 2019 13:01:18 +0000 (15:01 +0200)
This should check that "i" is within bounds before checking reading from
the array.

Fixes: ff5781634c41 ("drm/bridge: sii902x: Implement HDMI audio support")
Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
Reviewed-by: Andrzej Hajda <a.hajda@samsung.com>
Signed-off-by: Andrzej Hajda <a.hajda@samsung.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20190607072704.GA25229@mwanda
drivers/gpu/drm/bridge/sii902x.c

index 961abc94d7a78751aa7c3b4abdb2b5520b571574..dea784b39abcfe446c7aa242bb8c373bddf5801a 100644 (file)
@@ -599,8 +599,8 @@ static int sii902x_audio_hw_params(struct device *dev, void *data,
        if (ret)
                goto out;
 
-       for (i = 0; sii902x->audio.i2s_fifo_sequence[i] &&
-                    i < ARRAY_SIZE(sii902x->audio.i2s_fifo_sequence); i++)
+       for (i = 0; i < ARRAY_SIZE(sii902x->audio.i2s_fifo_sequence) &&
+                   sii902x->audio.i2s_fifo_sequence[i]; i++)
                regmap_write(sii902x->regmap,
                             SII902X_TPI_I2S_ENABLE_MAPPING_REG,
                             sii902x->audio.i2s_fifo_sequence[i]);