[Libreoffice] cppcheck : snprintf size is out of bounds
Julien
jnabet2412 at free.fr
Fri Nov 12 03:44:23 PST 2010
Hello,
I'm currently running the last version of cppcheck (i updated with git
this morning) and i get this error :
snprintf size is out of bounds
ex:
[./libs-gui/vcl/unx/source/printergfx/common_gfx.cxx:542]: (error)
snprintf size is out of bounds
[./libs-gui/vcl/unx/source/printergfx/common_gfx.cxx:552]: (error)
snprintf size is out of bounds
[./libs-gui/vcl/unx/source/printergfx/common_gfx.cxx:562]: (error)
snprintf size is out of bounds
[./libs-gui/vcl/unx/source/printergfx/common_gfx.cxx:590]: (error)
snprintf size is out of bounds
[./libs-gui/vcl/unx/source/printergfx/common_gfx.cxx:596]: (error)
snprintf size is out of bounds
[./libs-gui/vcl/unx/source/printergfx/common_gfx.cxx:607]: (error)
snprintf size is out of bounds
[./libs-gui/vcl/unx/source/printergfx/common_gfx.cxx:653]: (error)
snprintf size is out of bounds
[./libs-gui/vcl/unx/source/printergfx/common_gfx.cxx:661]: (error)
snprintf size is out of bounds
[./libs-gui/vcl/unx/source/printergfx/common_gfx.cxx:671]: (error)
snprintf size is out of bounds
If i take the first line and i open the file, i see this :
void
PrinterGfx::DrawPolyLineBezier (sal_uInt32 nPoints, const Point* pPath,
const BYTE* pFlgAry)
{
const sal_uInt32 nBezString = 1024;
sal_Char pString[nBezString];
if ( nPoints > 1 && maLineColor.Is() && pPath )
{
PSSetColor (maLineColor);
PSSetColor ();
PSSetLineWidth ();
snprintf(pString, nBezString, "%li %li moveto\n", pPath[0].X(),
pPath[0].Y());
I don't understand where's the pb with snprintf, pString has a size of
1024 and snprintf takes a size of 1024.
Is this a false positive to give to the cppcheck guys ?
Julien.
PS : is there a pb with my patch "[Libreoffice] [PATCH]
RTL_CONSTASCII_USTRINGPARAM for calc_unoobj" ? if it's the case, don't
hesitate to tell me, i'll correct it.
More information about the LibreOffice
mailing list