From 76ec9fb6bd4c16d4d0b7978de726a9ff7cf67106 Mon Sep 17 00:00:00 2001 From: David CARLIER Date: Sat, 16 Dec 2017 00:08:23 +0000 Subject: [PATCH] Few LCC memory fixes. --- code/tools/lcc/cpp/tokens.c | 2 +- code/tools/lcc/etc/bytecode.c | 4 +++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/code/tools/lcc/cpp/tokens.c b/code/tools/lcc/cpp/tokens.c index 3570896c..964453c3 100644 --- a/code/tools/lcc/cpp/tokens.c +++ b/code/tools/lcc/cpp/tokens.c @@ -315,7 +315,7 @@ puttokens(Tokenrow *trp) if (wbp >= &wbuf[OBS]) { write(1, wbuf, OBS); if (wbp > &wbuf[OBS]) - memcpy(wbuf, wbuf+OBS, wbp - &wbuf[OBS]); + memmove(wbuf, wbuf+OBS, wbp - &wbuf[OBS]); wbp -= OBS; } } diff --git a/code/tools/lcc/etc/bytecode.c b/code/tools/lcc/etc/bytecode.c index a5855de3..6e580228 100644 --- a/code/tools/lcc/etc/bytecode.c +++ b/code/tools/lcc/etc/bytecode.c @@ -34,8 +34,10 @@ void UpdatePaths( const char *lccBinary ) { char basepath[ 1024 ]; char *p; + size_t basepathsz = sizeof( basepath ) - 1; - strncpy( basepath, lccBinary, 1024 ); + strncpy( basepath, lccBinary, basepathsz ); + basepath[basepathsz] = 0; p = strrchr( basepath, PATH_SEP ); if( p )