• Arnd Bergmann's avatar
    [media] ttpci: address stringop overflow warning · 69d3973a
    Arnd Bergmann authored
    gcc-7.0.1 warns about old code in ttpci:
    
    In file included from drivers/media/pci/ttpci/av7110.c:63:0:
    In function 'irdebi.isra.2',
        inlined from 'start_debi_dma' at drivers/media/pci/ttpci/av7110.c:376:3,
        inlined from 'gpioirq' at drivers/media/pci/ttpci/av7110.c:659:3:
    drivers/media/pci/ttpci/av7110_hw.h:406:3: warning: 'memcpy': specified size between 18446744071562067968 and 18446744073709551615 exceeds maximum object size 9223372036854775807 [-Wstringop-overflow=]
       memcpy(av7110->debi_virt, (char *) &res, count);
    In function 'irdebi.isra.2',
        inlined from 'start_debi_dma' at drivers/media/pci/ttpci/av7110.c:376:3,
        inlined from 'gpioirq' at drivers/media/pci/ttpci/av7110.c:668:3:
    drivers/media/pci/ttpci/av7110_hw.h:406:3: warning: 'memcpy': specified size between 18446744071562067968 and 18446744073709551615 exceeds maximum object size 9223372036854775807 [-Wstringop-overflow=]
       memcpy(av7110->debi_virt, (char *) &res, count);
    
    Apparently, 'count' can be negative here, which will then get turned
    into a giant size argument for memcpy. Changing the sizes to 'unsigned
    int' instead seems safe as we already check for maximum sizes, and it
    also simplifies the code a bit.
    Signed-off-by: default avatarArnd Bergmann <arnd@arndb.de>
    Signed-off-by: default avatarMauro Carvalho Chehab <mchehab@s-opensource.com>
    69d3973a
av7110_hw.c 31.4 KB