static analysis bug report: staging r8712u memcpy of uninitialized variable

Colin Ian King colin.king at canonical.com
Mon Mar 18 11:20:51 UTC 2019


Hi,

Static analysis with cppcheck found a couple of interesting issues with
memcpy'ing of an uninitialized variable. Two occurrences of the same
issue are found in drivers/staging/rtl8712/rtl8712_cmd.c in functions
read_bbreg_hdl and read_rfreg_hdl.

For example:

static u8 read_bbreg_hdl(struct _adapter *padapter, u8 *pbuf)
{
        u32 val;
        void (*pcmd_callback)(struct _adapter *dev, struct cmd_obj
*pcmd);
        struct cmd_obj *pcmd  = (struct cmd_obj *)pbuf;

        if (pcmd->rsp && pcmd->rspsz > 0)
                memcpy(pcmd->rsp, (u8 *)&val, pcmd->rspsz);

	....

}

I don't understand why the contents of val is being memcpy'd to
pcmd->rsp, especially when val is uninitialized and hence contains
garbage. Any ideas?

Colin


More information about the devel mailing list