Skip to content

Commit

Permalink
V4L/DVB (7958): fix unaligned access in av7110.c
Browse files Browse the repository at this point in the history
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
  • Loading branch information
Al Viro authored and Mauro Carvalho Chehab committed Jun 5, 2008
1 parent a230e55 commit 3e08562
Showing 1 changed file with 5 additions and 4 deletions.
9 changes: 5 additions & 4 deletions drivers/media/dvb/ttpci/av7110.c
Original file line number Diff line number Diff line change
Expand Up @@ -51,6 +51,7 @@
#include <linux/crc32.h>
#include <linux/i2c.h>
#include <linux/kthread.h>
#include <asm/unaligned.h>

#include <asm/system.h>

Expand Down Expand Up @@ -1461,9 +1462,9 @@ static int check_firmware(struct av7110* av7110)
ptr += 4;

/* check dpram file */
crc = ntohl(*(u32*) ptr);
crc = get_unaligned_be32(ptr);
ptr += 4;
len = ntohl(*(u32*) ptr);
len = get_unaligned_be32(ptr);
ptr += 4;
if (len >= 512) {
printk("dvb-ttpci: dpram file is way too big.\n");
Expand All @@ -1478,9 +1479,9 @@ static int check_firmware(struct av7110* av7110)
ptr += len;

/* check root file */
crc = ntohl(*(u32*) ptr);
crc = get_unaligned_be32(ptr);
ptr += 4;
len = ntohl(*(u32*) ptr);
len = get_unaligned_be32(ptr);
ptr += 4;

if (len <= 200000 || len >= 300000 ||
Expand Down

0 comments on commit 3e08562

Please sign in to comment.