Bug 13442 - found several overlapping data buffers
Summary: found several overlapping data buffers
Status: RESOLVED CODE_FIX
Alias: None
Product: Drivers
Classification: Unclassified
Component: Other (show other bugs)
Hardware: All Linux
: P1 normal
Assignee: drivers_other
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2009-06-03 15:16 UTC by Martin Ettl
Modified: 2009-06-05 13:54 UTC (History)
1 user (show)

See Also:
Kernel Version: 2.6.29.3
Subsystem:
Regression: No
Bisected commit-id:


Attachments

Description Martin Ettl 2009-06-03 15:16:31 UTC
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
Comment 1 Martin Ettl 2009-06-04 15:54:53 UTC
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
Comment 2 Martin Ettl 2009-06-04 15:56:25 UTC
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

Note You need to log in before you can comment on or make changes to this bug.