[Libreoffice] cppcheck : snprintf size is out of bounds
Norbert Thiebaud
nthiebaud at gmail.com
Fri Nov 12 07:16:34 PST 2010
On Nov 12, 2010, at 3:44, Julien <jnabet2412 at free.fr> wrote:
> 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.
pString has a size of 1025.
>
> 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.
> _______________________________________________
> LibreOffice mailing list
> LibreOffice at lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/libreoffice
More information about the LibreOffice
mailing list