Hello, i detected an overlapping data buffer at file "linux-2.6.29.3/drivers/staging/rt2860/sta_ioctl.c" For detection, i used the static code analysis tool cppcheck. It prints the following message: [linux-2.6.29.3/drivers/staging/rt2860/sta_ioctl.c:2013]: (error) Overlapping data buffer pOutBuf [linux-2.6.29.3/drivers/staging/rt2860/sta_ioctl.c:2017]: (error) Overlapping data buffer pOutBuf [linux-2.6.29.3/drivers/staging/rt2860/sta_ioctl.c:2023]: (error) Overlapping data buffer pOutBuf [linux-2.6.29.3/drivers/staging/rt2860/sta_ioctl.c:2026]: (error) Overlapping data buffer pOutBuf [linux-2.6.29.3/drivers/staging/rt2860/sta_ioctl.c:2028]: (error) Overlapping data buffer pOutBuf [linux-2.6.29.3/drivers/staging/rt2860/sta_ioctl.c:2034]: (error) Overlapping data buffer pOutBuf [linux-2.6.29.3/drivers/staging/rt2860/sta_ioctl.c:2037]: (error) Overlapping data buffer pOutBuf Take a loop at file sta_ioctl.c at line 2037: sprintf(pOutBuf, "%s\n\n", pOutBuf); Here, var "custom" is used by iteself, this is dangerous!!!! At the other lines it's the same! e.g: line 2034 sprintf(pOutBuf, "%sTID=%d, BAWinSize=%d, StartSeq=%d, CurTxSeq=%d\n" , pOutBuf, j, pOriBAEntry->BAWinSize, pOriBAEntry->Sequence, pEntry->TxSeq[j]); Best regards Ettl Martin
There are two more in this file: [linux-2.6.29.3/drivers/staging/rt2860/sta_ioctl.c:1350]: (error) Overlapping data buffer custom [linux-2.6.29.3/drivers/staging/rt2860/sta_ioctl.c:1370]: (error) Overlapping data buffer custom Best regards Martin
and a lot more here: [linux-2.6.29.3/drivers/staging/rt2870/sta_ioctl.c:7035]: (error) Overlapping data buffer extra [linux-2.6.29.3/drivers/staging/rt2870/sta_ioctl.c:7046]: (error) Overlapping data buffer extra [linux-2.6.29.3/drivers/staging/rt2870/sta_ioctl.c:7049]: (error) Overlapping data buffer extra [linux-2.6.29.3/drivers/staging/rt2870/sta_ioctl.c:7050]: (error) Overlapping data buffer extra [linux-2.6.29.3/drivers/staging/rt2870/sta_ioctl.c:7051]: (error) Overlapping data buffer extra [linux-2.6.29.3/drivers/staging/rt2870/sta_ioctl.c:7052]: (error) Overlapping data buffer extra [linux-2.6.29.3/drivers/staging/rt2870/sta_ioctl.c:7053]: (error) Overlapping data buffer extra [linux-2.6.29.3/drivers/staging/rt2870/sta_ioctl.c:7054]: (error) Overlapping data buffer extra [linux-2.6.29.3/drivers/staging/rt2870/sta_ioctl.c:7055]: (error) Overlapping data buffer extra [linux-2.6.29.3/drivers/staging/rt2870/sta_ioctl.c:7056]: (error) Overlapping data buffer extra [linux-2.6.29.3/drivers/staging/rt2870/sta_ioctl.c:7057]: (error) Overlapping data buffer extra [linux-2.6.29.3/drivers/staging/rt2870/sta_ioctl.c:7058]: (error) Overlapping data buffer extra [linux-2.6.29.3/drivers/staging/rt2870/sta_ioctl.c:7059]: (error) Overlapping data buffer extra [linux-2.6.29.3/drivers/staging/rt2870/sta_ioctl.c:7061]: (error) Overlapping data buffer extra [linux-2.6.29.3/drivers/staging/rt2870/sta_ioctl.c:2033]: (error) Overlapping data buffer pOutBuf [linux-2.6.29.3/drivers/staging/rt2870/sta_ioctl.c:2037]: (error) Overlapping data buffer pOutBuf [linux-2.6.29.3/drivers/staging/rt2870/sta_ioctl.c:2043]: (error) Overlapping data buffer pOutBuf [linux-2.6.29.3/drivers/staging/rt2870/sta_ioctl.c:2046]: (error) Overlapping data buffer pOutBuf [linux-2.6.29.3/drivers/staging/rt2870/sta_ioctl.c:2048]: (error) Overlapping data buffer pOutBuf [linux-2.6.29.3/drivers/staging/rt2870/sta_ioctl.c:2054]: (error) Overlapping data buffer pOutBuf [linux-2.6.29.3/drivers/staging/rt2870/sta_ioctl.c:2057]: (error) Overlapping data buffer pOutBuf [linux-2.6.29.3/drivers/staging/rt2870/sta_ioctl.c:7032]: (error) Overlapping data buffer extra [linux-2.6.29.3/drivers/staging/rt2870/sta_ioctl.c:1359]: (error) Overlapping data buffer custom [linux-2.6.29.3/drivers/staging/rt2870/sta_ioctl.c:1379]: (error) Overlapping data buffer custom