* harbour/contrib/hbw32/w32_ole.c
* removed hack with malloc()/free() directly used to avoid
memory leak reports - it's not necessary in Harbour.
* harbour/contrib/hbfbird/firebird.c
* harbour/contrib/examples/pp/hbppcore.c
! fixed buffer size calculation in hbstrnc*() functions
* harbour/contrib/hbziparch/hbzipnew.cpp
% use hb_strdup() instead of hb_xgrab()/hb_strncpy()
* harbour/contrib/hbnf/getenvrn.c
! use hb_xgrab() instead of hb_xalloc() - the returned value
was not checked and internal error is for sure better then
GPF on NULL pointer
* harbour/source/rdd/dbfntx/dbfntx1.c
! use memcpy() instead of hb_strncpy() to avoid problems when
there is no place for tailing 0
* source/pp/hbpp.c
* source/vm/cmdarg.c
* source/vm/memvars.c
* source/rtl/dates.c
* source/rtl/fstemp.c
* source/rtl/gtchrmap.c
* source/rtl/gtcrs/gtcrs.c
* source/rtl/gtpca/gtpca.c
* source/rtl/gtstd/gtstd.c
* source/rdd/dbf1.c
* source/rdd/dbfntx/dbfntx1.c
* contrib/hbct/disk.c
* contrib/hbfbird/firebird.c
* contrib/hbw32/w32_ole.c
* contrib/xhb/hboutdbg.c
* contrib/examples/pp/hbppcore.c
* strncpy() -> hb_strncpy()
* strncat() -> hb_strncat()
! In most of these places the terminating zero
was not explicitly set by the caller before.
* contrib/hbnf/getenvrn.c
* contrib/hbw32/dllcall.c
* contrib/hbw32/w32_ole.c
* contrib/hbwhat32/_wincdlg.c
* contrib/hbwhat32/_windll.c
* contrib/hbwhat32/_winmain.c
* contrib/hbziparch/hbzipnew.cpp
! strcpy() -> hb_strncpy()
! strcat() -> hb_strncat()
; TOFIX1: There are still two strcpy()s left in SQL_SPRINTF().
Xavi, could you pls take a look at it?
; TOFIX2: There are still a few strcpy()s in hbwince.c and
dbgentry.c.
* source/pp/hbpp.c
* source/rtl/gtcrs/gtcrs.c
* source/rtl/gtpca/gtpca.c
* source/rtl/gtstd/gtstd.c
* contrib/hbfbird/firebird.c
* contrib/hbwhat32/_wincdlg.c
* contrib/hbwhat32/_windll.c
! Fixed wrong buffer sizes (or no buffer limits) in some
string copy operations (potential buffer overruns).
* contrib/hbnf/getenvrn.c
! Fixed bad leak in FT_GETE() on Win32 systems.
* source/rtl/fstemp.c
! hb_fsTempName(): Fixed potential buffer overrun by one byte.
* Minor formatting.
* source/rtl/fstemp.c
* source/rtl/hbffind.c
* contrib/xhb/hboutdbg.c
* Using sizeof() instead of explicit size in string copy operations.
; TODO: There is a lot more to fix like this.
; Przemek, could you double check these changes pls?
I can send you the .diff if it helps.
* harbour/config/w32/dm.cf
* updated for central library directory used by Harbour - not tested
* harbour/config/w32/xcc.cf
! fixed include PATH in XCC builds - Viktor be carefull with
cleaning -I<path> parameter. Some compilers use different
rulles then the one you may expect using the most popular
ones and such operation will break compilation. F.e. XCC
seems to ignore source file location for releative paths
so in GNU make builds it's necessary to add "-I$(TOP)"
instead of "-I." and when included file starts with ".."
then it does not try to use it with paths set by -I option
so we need -I$(TOP)$(ROOT) and hard coded for this compiler
directories in include/hbregex.h and include/hbzip.h
* harbour/source/hbzlib/zutil.h
! do not use fdopen() with XCC - it does not support it
* harbour/contrib/examples/pp/pp.c
* harbour/contrib/examples/pp/hbppcore.c
* harbour/source/common/hbfsapi.c
* harbour/source/rtl/fnsplit.c
* harbour/source/rtl/fstemp.c
! always use _POSIX_PATH_MAX + 1 buffers
* harbour/source/compiler/gencobj.c
* extended line buffer size
* harbour/source/rtl/gtcrs/gtcrs.h
* removed unnecessary declaration for _POSIX_PATH_MAX
it's always defined in Harbour header files
* harbour/source/rtl/inkey.c
* harbour/source/rtl/hbinet.c
* harbour/source/rtl/gtwvt/gtwvt.c
* use hb_array[SG]et*() functions insteaf of
hb_item*( hb_arrayGetItemPtr, ... )
* contrib/examples/pp/bld_b32.bat
* contrib/examples/pp/bld_vc.bat
* contrib/examples/guestbk/bld_b32.bat
* contrib/examples/guestbk/bld_vc.bat
* contrib/examples/pe/bld_b32.bat
* contrib/examples/pe/bld_vc.bat
* contrib/examples/dbu/bld_b32.bat
* contrib/examples/dbu/bld_vc.bat
* contrib/examples/hscript/bld_b32.bat
* contrib/examples/hscript/bld_vc.bat
* utils/hbdoc/bld_vc.bat
* utils/hbdoc/bld_b32.bat
* utils/hbmake/bld_vc.bat
* utils/hbmake/bld_b32.bat
+ Cleaning .c and .obj files after the build process.
! This is needed to not interfere with the GNU-make system,
which would pickup and try to compiler those temp .c files.
* include/hbstdgen.ch
* include/hbver.h
* include/hbdefs.h
* source/pp/pplib.c
* source/pp/ppcore.c
* source/pp/hbpp.c
* source/common/hbver.c
* source/common/hbverdsp.c
* contrib/hbsqlit3/hbsqlit3.c
* contrib/examples/pp/hbppdef.h
* Changed .c level __HARBOUR__ to have the same value
as the existing .prg level one.
* PP now gets the __HARBOUR__ define directly from the .c
level instead of generating it locally.
; QUESTION: Should or shouldn't we change __HARBOUR__
to contain revision number too? (0x0100 -> 0x01000)
This would allow for a greater level of development
opportunities between minor revisions, more "agile"
development.
* include/hbpp.h
* source/pp/ppcore.c
- Two __XHARBOUR__ guards removed.