diff options
| author | 2007-03-04 09:21:11 +0000 | |
|---|---|---|
| committer | 2007-03-04 09:21:11 +0000 | |
| commit | 7e6cbc5bb7cf0b0459d6fbf014f0c8663e28e0e6 (patch) | |
| tree | be7f368e0370072c4d5a71321e104e9281a414f5 /src | |
| parent | quick fix (diff) | |
| download | KVIrc-7e6cbc5bb7cf0b0459d6fbf014f0c8663e28e0e6.tar.gz KVIrc-7e6cbc5bb7cf0b0459d6fbf014f0c8663e28e0e6.tar.bz2 KVIrc-7e6cbc5bb7cf0b0459d6fbf014f0c8663e28e0e6.zip | |
CRITICAL bugfix. Remote exploit: /ctcp -n NICK avatar z:/test.jpg; where z: - unexisting drive letter
git-svn-id: https://svn.kvirc.de/svn/trunk/kvirc@406 17fca916-40b9-46aa-a4ea-0a15b648b75c
Diffstat (limited to 'src')
| -rw-r--r-- | src/kvilib/file/kvi_fileutils.cpp | 5 | ||||
| -rw-r--r-- | src/kvilib/file/kvi_fileutils.h | 2 | ||||
| -rw-r--r-- | src/modules/file/libkvifile.cpp | 2 |
3 files changed, 8 insertions, 1 deletions
diff --git a/src/kvilib/file/kvi_fileutils.cpp b/src/kvilib/file/kvi_fileutils.cpp index 858489111..e67c1f9b2 100644 --- a/src/kvilib/file/kvi_fileutils.cpp +++ b/src/kvilib/file/kvi_fileutils.cpp @@ -377,6 +377,11 @@ namespace KviFileUtils QString extractFileName(const QString &szFileNameWithPath) { + return QFileInfo(szFileNameWithPath).fileName(); + } + + QString extractFilePath(const QString &szFileNameWithPath) + { #ifdef COMPILE_USE_QT4 return QFileInfo(szFileNameWithPath).absoluteFilePath(); #else diff --git a/src/kvilib/file/kvi_fileutils.h b/src/kvilib/file/kvi_fileutils.h index 6c70a88db..511f421d1 100644 --- a/src/kvilib/file/kvi_fileutils.h +++ b/src/kvilib/file/kvi_fileutils.h @@ -77,6 +77,8 @@ namespace KviFileUtils extern KVILIB_API bool readFile(const char* path,QString &szBuffer,unsigned int uMaxSize = 65535); // extracts the filename from a complete path (strips leading path) extern KVILIB_API QString extractFileName(const QString &szFileNameWithPath); + + extern KVILIB_API QString extractFilePath(const QString &szFileNameWithPath); // cp -f extern KVILIB_API bool copyFile(const QString &szSrc,const QString &szDst); extern KVILIB_API bool copyFile(const char* src,const char* dst); diff --git a/src/modules/file/libkvifile.cpp b/src/modules/file/libkvifile.cpp index 6e77329ce..90eaaa97e 100644 --- a/src/modules/file/libkvifile.cpp +++ b/src/modules/file/libkvifile.cpp @@ -1207,7 +1207,7 @@ static bool file_kvs_fnc_extractfilename(KviKvsModuleFunctionCall * c) KVSM_PARAMETERS_BEGIN(c) KVSM_PARAMETER("filepath",KVS_PT_NONEMPTYSTRING,0,szName) KVSM_PARAMETERS_END(c) - KviFileUtils::adjustFilePath(szName); + KviFileUtils::extractFileName(szName); KviQString::cutToLast(szName,KVI_PATH_SEPARATOR_CHAR); c->returnValue()->setString(szName); return true; |
