diff --git a/harbour/ChangeLog b/harbour/ChangeLog index f7e702cd13..eb2863661e 100644 --- a/harbour/ChangeLog +++ b/harbour/ChangeLog @@ -8,6 +8,11 @@ 2008-12-31 13:59 UTC+0100 Foo Bar */ +2008-08-24 11:47 UTC+0200 Viktor Szakats (harbour.01 syenar hu) + * contrib/hbmisc/spd.c + ! strcpy() -> hb_strncpy() + Patch by Xavi. Many thanks. + 2008-08-23 12:52 UTC-0500 Teo Fonrouge (teo/at/windtelsoft/dot/com) * harbour.spec * added missing contrib libs needed to build rpm packages: diff --git a/harbour/contrib/hbmisc/spd.c b/harbour/contrib/hbmisc/spd.c index a42a6e57ab..7f4bb171c1 100644 --- a/harbour/contrib/hbmisc/spd.c +++ b/harbour/contrib/hbmisc/spd.c @@ -138,7 +138,7 @@ static ULONG SCItm( char *cBuffer, ULONG ulMaxBuf, char *cParFrm, int iCOut, int /******************************************************************************* * ANSI C sprintf() for ANSI SQL with DATE, DATETIME, LOGICAL, NIL, NUMERIC * ------------------------------------------------------------------------ -* cRes := Sql_sprintf( cFrm, ... ) or cRes := _Spd( cFrm, ... ) +* cRes := Sql_sprintf( cFrm, ... ) * * Full compatible ANSI C99 formats with C,S converters wchar_t (UNICODE) * Integer & Floating point converters with Width and Precision for NUMERIC & STRING @@ -330,7 +330,7 @@ HB_FUNC( SQL_SPRINTF ) ulMaxBuf += f + DK_INCBUF; cBuffer = (char *)hb_xrealloc( cBuffer, ulMaxBuf ); } - strcpy( cBuffer, cParFrm ); s = i; + hb_strncpy( cBuffer, cParFrm, i ); s = i; }else{ /* Par Item sprintf() Out */ @@ -451,7 +451,7 @@ HB_FUNC( SQL_SPRINTF ) ulMaxRes += f + DK_INCRES; cRes = (char *)hb_xrealloc( cRes, ulMaxRes ); } - strcpy( cRes + ulResPos, cBuffer ); ulResPos += s; + hb_strncpy( cRes + ulResPos, cBuffer, s ); ulResPos += s; if( (ulParPos = c - cItmFrm) >= ulItmFrm ){ break; /* No more Par Format */