diff --git a/src/common/filefn.cpp b/src/common/filefn.cpp index cb035c4407..061ea5f7c3 100644 --- a/src/common/filefn.cpp +++ b/src/common/filefn.cpp @@ -743,11 +743,13 @@ wxPathOnly (wxChar *path) { static wxChar buf[_MAXPATHLEN]; - // Local copy - wxStrcpy (buf, path); - int l = wxStrlen(path); int i = l - 1; + if ( i >= _MAXPATHLEN ) + return NULL; + + // Local copy + wxStrcpy (buf, path); // Search backward for a backward or forward slash while (i > -1) @@ -789,12 +791,15 @@ wxString wxPathOnly (const wxString& path) { wxChar buf[_MAXPATHLEN]; - // Local copy - wxStrcpy(buf, path); - int l = path.length(); int i = l - 1; + if ( i >= _MAXPATHLEN ) + return wxString(); + + // Local copy + wxStrcpy(buf, path); + // Search backward for a backward or forward slash while (i > -1) {