Skip to contentSkip to conversation

media: em28xx-cards: fix em28xx_duplicate_dev()

PATCH In review Dan Carpenter 2 participants 2 messages Mar 8, 2018

Subsystems (3)
lore
Share & tools
lore
#0 lore raw

PATCH 1/1 media: em28xx-cards: fix em28xx_duplicate_dev()

There is a double sizeof() typo here so we don't duplicate the struct properly.

Fixes be7fd3c3a8c5 ("media: em28xx: Hauppauge DualHD second tuner functionality")
drivers/media/usb/em28xx/em28xx-cards.c +1 -1
index 6e8247849c4f..6e0e67d23876 100644
@@ -3515,7 +3515,7 @@ static int em28xx_duplicate_dev(struct em28xx *dev)
 		dev->dev_next = NULL;
 		return -ENOMEM;
 	}
-	memcpy(sec_dev, dev, sizeof(sizeof(*sec_dev)));
+	memcpy(sec_dev, dev, sizeof(*sec_dev));
 	/* Check to see next free device and mark as used */
 	do {
 		nr = find_first_zero_bit(em28xx_devused, EM28XX_MAXBOARDS);
#1 lore raw

Hi Dan,

Quoted 11 lines · Dan Carpenter

There is a double sizeof() typo here so we don't duplicate the struct properly.

Fixes be7fd3c3a8c5 ("media: em28xx: Hauppauge DualHD second tuner functionality")
drivers/media/usb/em28xx/em28xx-cards.c +0 -0
index 6e8247849c4f..6e0e67d23876 100644

drivers/media/usb/em28xx/em28xx-cards.c static int em28xx_duplicate_dev(struct em28xx *dev) · line 3521

Quoted 8 lines
drivers/media/usb/em28xx/em28xx-cards.c +1 -1
@@ -3515,7 +3515,7 @@ static int em28xx_duplicate_dev(struct em28xx *dev)
 		dev->dev_next = NULL;
 		return -ENOMEM;
 	}
-	memcpy(sec_dev, dev, sizeof(sizeof(*sec_dev)));
+	memcpy(sec_dev, dev, sizeof(*sec_dev));
 	/* Check to see next free device and mark as used */
 	do {
 		nr = find_first_zero_bit(em28xx_devused, EM28XX_MAXBOARDS);

Ouch, good catch. Strangely everything still worked in 64bit builds, and I've had no reports of wonky behaviour elsewhere.

Cheers,

Brad