I don't really see the reason here. Whether using the secure function or not is is a question of whether we need null-termination or not. If we need it the secure function will do the right thing. If we do not need null-termination the non-secure function does the right thing and the secure function would not add any security, but simply do the wrong thing. MSDN says about the lfFaceName member of the LOGFONT structure "A null-terminated string that specifies the typeface name of the font. " So we want it to be null-terminated and adding one more character does not add anything useful, but will result in a broken structure. Another difference is that the non-secure function pads the destination array with nulls, the secure function does - afaik - not. If that is the reason, I'd prefer zeroing it out before copying the string.
Am 06.04.2014 22:20, schrieb pschweit...@svn.reactos.org: > Author: pschweitzer > Date: Sun Apr 6 20:20:39 2014 > New Revision: 62675 > > URL: http://svn.reactos.org/svn/reactos?rev=62675&view=rev > Log: > [CHARMAP] > Use rather wcsncpy(). A bit less safe, but at least, data are copied till > possible > > Modified: > trunk/reactos/base/applications/charmap/lrgcell.c > trunk/reactos/base/applications/charmap/map.c > > Modified: trunk/reactos/base/applications/charmap/lrgcell.c > URL: > http://svn.reactos.org/svn/reactos/trunk/reactos/base/applications/charmap/lrgcell.c?rev=62675&r1=62674&r2=62675&view=diff > ============================================================================== > --- trunk/reactos/base/applications/charmap/lrgcell.c [iso-8859-1] (original) > +++ trunk/reactos/base/applications/charmap/lrgcell.c [iso-8859-1] Sun Apr 6 > 20:20:39 2014 > @@ -48,9 +48,9 @@ > hdc); > > lf.lfCharSet = DEFAULT_CHARSET; > - wcscpy_s(lf.lfFaceName, > - sizeof(lf.lfFaceName) / sizeof(lf.lfFaceName[0]), > - lpFontName); > + wcsncpy(lf.lfFaceName, > + lpFontName, > + sizeof(lf.lfFaceName) / sizeof(lf.lfFaceName[0])); > > hFont = CreateFontIndirectW(&lf); > > > Modified: trunk/reactos/base/applications/charmap/map.c > URL: > http://svn.reactos.org/svn/reactos/trunk/reactos/base/applications/charmap/map.c?rev=62675&r1=62674&r2=62675&view=diff > ============================================================================== > --- trunk/reactos/base/applications/charmap/map.c [iso-8859-1] (original) > +++ trunk/reactos/base/applications/charmap/map.c [iso-8859-1] Sun Apr 6 > 20:20:39 2014 > @@ -228,9 +228,9 @@ > ReleaseDC(infoPtr->hMapWnd, hdc); > > infoPtr->CurrentFont.lfCharSet = DEFAULT_CHARSET; > - wcscpy_s(infoPtr->CurrentFont.lfFaceName, > - sizeof(infoPtr->CurrentFont.lfFaceName) / > sizeof(infoPtr->CurrentFont.lfFaceName[0]), > - lpFontName); > + wcsncpy(infoPtr->CurrentFont.lfFaceName, > + lpFontName, > + sizeof(infoPtr->CurrentFont.lfFaceName) / > sizeof(infoPtr->CurrentFont.lfFaceName[0])); > > infoPtr->hFont = CreateFontIndirectW(&infoPtr->CurrentFont); > > > > _______________________________________________ Ros-dev mailing list Ros-dev@reactos.org http://www.reactos.org/mailman/listinfo/ros-dev