Skip to content

Commit 5a4d0b7

Browse files
committed
fix undefined behaviours and jpeg crash on non-windows platforms
1 parent 047f8b1 commit 5a4d0b7

File tree

4 files changed

+10
-4
lines changed

4 files changed

+10
-4
lines changed

common/imageutils.cpp

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -65,9 +65,12 @@ extern void longjmp( jmp_buf, int ) __attribute__((noreturn));
6565
#define JPEGLIB_USE_STDIO
6666
#if ANDROID
6767
#include "android/jpeglib/jpeglib.h"
68-
#else
68+
#elif defined WIN32
6969
#include "jpeglib/jpeglib.h"
70+
#else
71+
#include <jpeglib.h>
7072
#endif
73+
7174
#undef JPEGLIB_USE_STDIO
7275

7376

filesystem/basefilesystem.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4203,7 +4203,7 @@ bool CBaseFileSystem::FindNextFileInVPKOrPakHelper( FindData_t *pFindData )
42034203
{
42044204
V_strncpy( pFindData->findData.cFileName, V_UnqualifiedFileName( pFindData->m_fileMatchesFromVPKOrPak[0] ), sizeof( pFindData->findData.cFileName ) );
42054205
pFindData->findData.dwFileAttributes = 0;
4206-
delete pFindData->m_fileMatchesFromVPKOrPak.Head();
4206+
delete[] pFindData->m_fileMatchesFromVPKOrPak.Head();
42074207
pFindData->m_fileMatchesFromVPKOrPak.RemoveMultipleFromHead( 1 );
42084208

42094209
return true;

vgui2/vgui_controls/FileOpenDialog.cpp

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1500,6 +1500,9 @@ void FileOpenDialog::OnOpen()
15001500
char pFileName[MAX_PATH];
15011501
GetSelectedFileName( pFileName, sizeof( pFileName ) );
15021502

1503+
if( !pFileName[0] )
1504+
return;
1505+
15031506
int nLen = Q_strlen( pFileName );
15041507
bool bSpecifiedDirectory = ( pFileName[nLen-1] == '/' || pFileName[nLen-1] == '\\' ) && (!IsOSX() || ( IsOSX() && !Q_stristr( pFileName, ".app" ) ) );
15051508
Q_StripTrailingSlash( pFileName );

wscript

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -239,9 +239,9 @@ def define_platform(conf):
239239
'_DLL_EXT=.so'
240240
])
241241

242-
# if conf.env.DEST_OS != 'win32':
242+
if conf.env.DEST_OS != 'win32':
243+
conf.define('NO_MEMOVERRIDE_NEW_DELETE', 1)
243244
# conf.define('NO_MALLOC_OVERRIDE', 1)
244-
# conf.define('NO_MEMOVERRIDE_NEW_DELETE', 1)
245245

246246
if conf.options.DEBUG_ENGINE:
247247
conf.env.append_unique('DEFINES', [

0 commit comments

Comments
 (0)