diff --git a/harbour/ChangeLog b/harbour/ChangeLog index de8b31fae8..02fc2ec5d6 100644 --- a/harbour/ChangeLog +++ b/harbour/ChangeLog @@ -8,6 +8,13 @@ 2009-12-31 13:59 UTC+0100 Foo Bar (foo.bar foobar.org) */ +2009-03-27 15:01 UTC+0100 Viktor Szakats (harbour.01 syenar hu) + * contrib/hbodbc/odbc.c + ! Fixed potential buffer overrun in SQLDRIVERCONNECT() in UNICODE mode. + + * utils/hbmk2/hbmk2.prg + - Removed debug line left in. + 2009-03-27 14:35 UTC+0100 Viktor Szakats (harbour.01 syenar hu) * contrib/hbodbc/odbc.c * BYTE -> char diff --git a/harbour/contrib/hbodbc/odbc.c b/harbour/contrib/hbodbc/odbc.c index 3e236d1bfe..f52f8d89a4 100644 --- a/harbour/contrib/hbodbc/odbc.c +++ b/harbour/contrib/hbodbc/odbc.c @@ -135,7 +135,7 @@ HB_FUNC( SQLDRIVERCONNECT ) /* hDbc, @cConnectString --> nRetCode */ ( SQLTCHAR * ) lpStr, ( SQLSMALLINT ) hb_parclen( 2 ), ( SQLTCHAR * ) buffer, - ( SQLSMALLINT ) sizeof( buffer ), + ( SQLSMALLINT ) HB_SIZEOFARRAY( buffer ), ( SQLSMALLINT * ) &wLen, ( SQLUSMALLINT ) SQL_DRIVER_COMPLETE ); HB_TCHAR_FREE( lpStr ); @@ -153,7 +153,7 @@ HB_FUNC( SQLDRIVERCONNECT ) /* hDbc, @cConnectString --> nRetCode */ ( SQLTCHAR * ) hb_parcx( 2 ), ( SQLSMALLINT ) hb_parclen( 2 ), ( SQLTCHAR * ) buffer, - ( SQLSMALLINT ) sizeof( buffer ), + ( SQLSMALLINT ) HB_SIZEOFARRAY( buffer ), ( SQLSMALLINT * ) &wLen, ( SQLUSMALLINT ) SQL_DRIVER_COMPLETE ); hb_storc( ( char * ) buffer, 3 ); @@ -445,7 +445,7 @@ HB_FUNC( SQLERROR ) /* hEnv, hDbc, hStmt, @cErrorClass, @nType, @cErrorMsg */ SQLINTEGER lError; SQLSMALLINT wLen; SQLTCHAR buffer[ 256 ]; - SQLTCHAR szErrorMsg[ 256 ]; + SQLTCHAR szErrorMsg[ SQL_MAX_MESSAGE_LENGTH + 1 ]; hb_retni( SQLError( ( SQLHENV ) hb_parptr( 1 ), ( SQLHDBC ) hb_parptr( 2 ), ( SQLHSTMT ) ( HB_PTRUINT ) hb_parnint( 3 ), diff --git a/harbour/utils/hbmk2/hbmk2.prg b/harbour/utils/hbmk2/hbmk2.prg index e950daa444..9396604427 100644 --- a/harbour/utils/hbmk2/hbmk2.prg +++ b/harbour/utils/hbmk2/hbmk2.prg @@ -62,7 +62,7 @@ * See COPYING for licensing terms. * */ -#pragma linenumber=on + /* Man page HOWTO: http://www.schweikhardt.net/man_page_howto.html