From 8920ce80058cfa3d18dc8bc7535119e9986dbad7 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Thu, 24 Jan 2019 16:40:01 +0000 Subject: [PATCH] staging: bcm2835-codec: variable vb2 may be used uninitialised In op_buffer_cb, the failure path checked whether there was an associated vb2 buffer before the variable vb2 had been assigned. Signed-off-by: Dave Stevenson --- .../vc04_services/bcm2835-codec/bcm2835-v4l2-codec.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) --- a/drivers/staging/vc04_services/bcm2835-codec/bcm2835-v4l2-codec.c +++ b/drivers/staging/vc04_services/bcm2835-codec/bcm2835-v4l2-codec.c @@ -634,6 +634,9 @@ static void op_buffer_cb(struct vchiq_mm __func__, status, mmal_buf, mmal_buf->length, mmal_buf->mmal_flags, mmal_buf->pts); + buf = container_of(mmal_buf, struct m2m_mmal_buffer, mmal); + vb2 = &buf->m2m.vb; + if (status) { /* error in transfer */ if (vb2) { @@ -658,9 +661,6 @@ static void op_buffer_cb(struct vchiq_mm return; } - buf = container_of(mmal_buf, struct m2m_mmal_buffer, mmal); - vb2 = &buf->m2m.vb; - v4l2_dbg(3, debug, &ctx->dev->v4l2_dev, "%s: length %lu, flags %x, idx %u\n", __func__, mmal_buf->length, mmal_buf->mmal_flags, vb2->vb2_buf.index);