Re: [patch 1/7] drivers/media/video: move dereference after NULL test

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi Julia,

> From: Julia Lawall <julia@xxxxxxx>
 

> diff -puN drivers/media/video/davinci/vpif_display.c~drivers-media-video-move-dereference-after-null-test drivers/media/video/davinci/vpif_display.c
> --- a/drivers/media/video/davinci/vpif_display.c~drivers-media-video-move-dereference-after-null-test
> +++ a/drivers/media/video/davinci/vpif_display.c
> @@ -383,8 +383,6 @@ static int vpif_get_std_info(struct chan
>  	int index;
>  
>  	std_info->stdid = vid_ch->stdid;
> -	if (!std_info)
> -		return -1;
>  
>  	for (index = 0; index < ARRAY_SIZE(ch_params); index++) {
>  		config = &ch_params[index];

IMO, the better would be to move the if to happen before the usage of std_info, and make it return 
a proper error code, instead of -1.

Murali,
Any comments?

> diff -puN drivers/media/video/saa7134/saa7134-alsa.c~drivers-media-video-move-dereference-after-null-test drivers/media/video/saa7134/saa7134-alsa.c
> --- a/drivers/media/video/saa7134/saa7134-alsa.c~drivers-media-video-move-dereference-after-null-test
> +++ a/drivers/media/video/saa7134/saa7134-alsa.c
> @@ -1011,8 +1011,6 @@ static int snd_card_saa7134_new_mixer(sn
>  	unsigned int idx;
>  	int err, addr;
>  
> -	if (snd_BUG_ON(!chip))
> -		return -EINVAL;
>  	strcpy(card->mixername, "SAA7134 Mixer");

The better here is to keep the BUG_ON and moving this initialization:
        struct snd_card *card = chip->card;

to happen after the test.

>  
>  	for (idx = 0; idx < ARRAY_SIZE(snd_saa7134_volume_controls); idx++) {
> diff -puN drivers/media/video/usbvideo/quickcam_messenger.c~drivers-media-video-move-dereference-after-null-test drivers/media/video/usbvideo/quickcam_messenger.c
> --- a/drivers/media/video/usbvideo/quickcam_messenger.c~drivers-media-video-move-dereference-after-null-test
> +++ a/drivers/media/video/usbvideo/quickcam_messenger.c
> @@ -692,12 +692,13 @@ static int qcm_start_data(struct uvd *uv
>  
>  static void qcm_stop_data(struct uvd *uvd)
>  {
> -	struct qcm *cam = (struct qcm *) uvd->user_data;
> +	struct qcm *cam;
>  	int i, j;
>  	int ret;
>  
>  	if ((uvd == NULL) || (!uvd->streaming) || (uvd->dev == NULL))
>  		return;
> +	cam = (struct qcm *) uvd->user_data;
>  
>  	ret = qcm_camera_off(uvd);
>  	if (ret)

OK.

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

[Index of Archives]     [Linux Input]     [Video for Linux]     [Gstreamer Embedded]     [Mplayer Users]     [Linux USB Devel]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [Yosemite Backpacking]
  Powered by Linux