• Guenter Roeck's avatar
    hwmon: (ftsteutates) Fix potential memory access error · 4c8702b3
    Guenter Roeck authored
    Using set_bit() to set a bit in an integer is not a good idea, since
    the function expects an unsigned long as argument, which can be 64 bit
    wide. Coverity reports this problem as
    
    >>>     CID 1364488:  Memory - illegal accesses  (INCOMPATIBLE_CAST)
    >>>     Pointer "&ret" points to an object whose effective type is "int"
    >>>	(32 bits, signed) but is dereferenced as a wider "unsigned
    +long" (64 bits, unsigned).  This may lead to memory corruption.
    245                     set_bit(1, (unsigned long *)&ret);
    
    Just use BIT instead.
    
    Cc: Thilo Cestonaro <thilo@cestona.ro>
    Fixes: 08426eda ("hwmon: Add driver for FTS BMC chip "Teutates"")
    Signed-off-by: default avatarGuenter Roeck <linux@roeck-us.net>
    4c8702b3
ftsteutates.c 25 KB