From: epetrich Date: Thu, 22 Apr 2004 17:31:46 +0000 (+0000) Subject: * link/z80/lkmain.c (afile), X-Git-Url: https://git.gag.com/?a=commitdiff_plain;h=8a311ec307a42acfefc6e700625b0d4e40a6ab10;p=fw%2Fsdcc * link/z80/lkmain.c (afile), * as/hc08/lkmain.c (afile), * as/mcs51/lkmain.c (afile): fix suggested by Maarten Brock to prevent a pointer problem when a filename has no directory and no extension specified. git-svn-id: https://sdcc.svn.sourceforge.net/svnroot/sdcc/trunk/sdcc@3296 4a8a32a2-be11-0410-ad9d-d568d2c75423 --- diff --git a/ChangeLog b/ChangeLog index f25a4c5d..85309869 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,11 @@ +2004-04-22 Erik Petrich + + * link/z80/lkmain.c (afile), + * as/hc08/lkmain.c (afile), + * as/mcs51/lkmain.c (afile): fix suggested by Maarten Brock to + prevent a pointer problem when a filename has no directory and + no extension specified. + 2004-04-21 Erik Petrich * link/z80/lkmain.c (afile): allow periods in directory names diff --git a/as/hc08/lkmain.c b/as/hc08/lkmain.c index fd732aa8..882b5ca9 100644 --- a/as/hc08/lkmain.c +++ b/as/hc08/lkmain.c @@ -1184,7 +1184,7 @@ char *ft; /*Look backward the name path and get rid of the extension, if any*/ i=strlen(fn); - for(; (fn[i]!='.')&&(fn[i]!='\\')&&(fn[i]!='/')&&(i>=0); i--); + for(; (fn[i]!='.')&&(fn[i]!='\\')&&(fn[i]!='/')&&(i>0); i--); if( (fn[i]=='.') && strcmp(ft, "lnk") ) { strncpy(fb, fn, i); diff --git a/as/mcs51/lkmain.c b/as/mcs51/lkmain.c index 06d26aa5..1ee7f26b 100644 --- a/as/mcs51/lkmain.c +++ b/as/mcs51/lkmain.c @@ -1220,7 +1220,7 @@ char *ft; /*Look backward the name path and get rid of the extension, if any*/ i=strlen(fn); - for(; (fn[i]!='.')&&(fn[i]!='\\')&&(fn[i]!='/')&&(i>=0); i--); + for(; (fn[i]!='.')&&(fn[i]!='\\')&&(fn[i]!='/')&&(i>0); i--); if( (fn[i]=='.') && strcmp(ft, "lnk") ) { strncpy(fb, fn, i); diff --git a/link/z80/lkmain.c b/link/z80/lkmain.c index 624d4a79..e4554add 100644 --- a/link/z80/lkmain.c +++ b/link/z80/lkmain.c @@ -1376,7 +1376,7 @@ char *ft; #else /*Look backward the name path and get rid of the extension, if any*/ i=strlen(fn); - for(; (fn[i]!='.')&&(fn[i]!='\\')&&(fn[i]!='/')&&(i>=0); i--); + for(; (fn[i]!='.')&&(fn[i]!='\\')&&(fn[i]!='/')&&(i>0); i--); if( (fn[i]=='.') && *ft && strcmp(ft, "lnk") ) { strncpy(fb, fn, i);