[-next] V4L: au0828: move dereference below sanity checks

Message ID 20100723100920.GC26313@bicker (mailing list archive)
State Superseded, archived
Headers

Commit Message

Dan Carpenter July 23, 2010, 10:09 a.m. UTC
  This function has sanity checks to make sure that "dev" is non-null.  I
moved the dereference down below the checks.  In the current code "dev"
is never actually null.

Signed-off-by: Dan Carpenter <error27@gmail.com>

--
To unsubscribe from this list: send the line "unsubscribe linux-media" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
  

Comments

Devin Heitmueller July 23, 2010, 1:12 p.m. UTC | #1
On Fri, Jul 23, 2010 at 6:09 AM, Dan Carpenter <error27@gmail.com> wrote:
> This function has sanity checks to make sure that "dev" is non-null.  I
> moved the dereference down below the checks.  In the current code "dev"
> is never actually null.
>
> Signed-off-by: Dan Carpenter <error27@gmail.com>
>
> diff --git a/drivers/media/video/au0828/au0828-video.c b/drivers/media/video/au0828/au0828-video.c
> index d97e0a2..7989a7b 100644
> --- a/drivers/media/video/au0828/au0828-video.c
> +++ b/drivers/media/video/au0828/au0828-video.c
> @@ -441,7 +441,7 @@ static void au0828_copy_vbi(struct au0828_dev *dev,
>                              unsigned char *outp, unsigned long len)
>  {
>        unsigned char *startwrite, *startread;
> -       int bytesperline = dev->vbi_width;
> +       int bytesperline;
>        int i, j = 0;
>
>        if (dev == NULL) {
> @@ -464,6 +464,8 @@ static void au0828_copy_vbi(struct au0828_dev *dev,
>                return;
>        }
>
> +       bytesperline = dev->vbi_width;
> +
>        if (dma_q->pos + len > buf->vb.size)
>                len = buf->vb.size - dma_q->pos;
>
>

In reality the check for "dev" can be removed since it will *never*
happen (I added it during some debugging, as can be seen by the rest
of the NULL checks).

Either way though, this patch is fine.

Acked-by: Devin Heitmueller <dheitmueller@kernellabs.com>
  

Patch

diff --git a/drivers/media/video/au0828/au0828-video.c b/drivers/media/video/au0828/au0828-video.c
index d97e0a2..7989a7b 100644
--- a/drivers/media/video/au0828/au0828-video.c
+++ b/drivers/media/video/au0828/au0828-video.c
@@ -441,7 +441,7 @@  static void au0828_copy_vbi(struct au0828_dev *dev,
 			      unsigned char *outp, unsigned long len)
 {
 	unsigned char *startwrite, *startread;
-	int bytesperline = dev->vbi_width;
+	int bytesperline;
 	int i, j = 0;
 
 	if (dev == NULL) {
@@ -464,6 +464,8 @@  static void au0828_copy_vbi(struct au0828_dev *dev,
 		return;
 	}
 
+	bytesperline = dev->vbi_width;
+
 	if (dma_q->pos + len > buf->vb.size)
 		len = buf->vb.size - dma_q->pos;