diff --git a/driver.c b/driver.c index 4855f860bc..c6040f2875 100644 --- a/driver.c +++ b/driver.c @@ -288,11 +288,13 @@ void init_audio(void) size_t max_bufsamples = AUDIO_CHUNK_SIZE_NONBLOCKING * 2; // Used for recording even if audio isn't enabled. - assert((g_extern.audio_data.conv_outsamples = (int16_t*)malloc(max_bufsamples * sizeof(int16_t) * AUDIO_MAX_RATIO))); + g_extern.audio_data.conv_outsamples = (int16_t*)malloc(max_bufsamples * sizeof(int16_t) * AUDIO_MAX_RATIO); + assert(g_extern.audio_data.conv_outsamples); g_extern.audio_data.chunk_size = g_extern.audio_data.block_chunk_size; // Needs to be able to hold full content of a full max_bufsamples in addition to its own. - assert((g_extern.audio_data.rewind_buf = (int16_t*)malloc(max_bufsamples * sizeof(int16_t)))); + g_extern.audio_data.rewind_buf = (int16_t*)malloc(max_bufsamples * sizeof(int16_t)); + assert(g_extern.audio_data.rewind_buf); g_extern.audio_data.rewind_size = max_bufsamples; if (!g_settings.audio.enable) @@ -326,10 +328,13 @@ void init_audio(void) if (!g_extern.audio_data.source) g_extern.audio_active = false; - assert((g_extern.audio_data.data = (float*)malloc(max_bufsamples * sizeof(float)))); + g_extern.audio_data.data = (float*)malloc(max_bufsamples * sizeof(float)); + assert(g_extern.audio_data.data); g_extern.audio_data.data_ptr = 0; + assert(g_settings.audio.out_rate < g_settings.audio.in_rate * AUDIO_MAX_RATIO); - assert((g_extern.audio_data.outsamples = (float*)malloc(max_bufsamples * sizeof(float) * AUDIO_MAX_RATIO))); + g_extern.audio_data.outsamples = (float*)malloc(max_bufsamples * sizeof(float) * AUDIO_MAX_RATIO); + assert(g_extern.audio_data.outsamples); g_extern.audio_data.src_ratio = (double)g_settings.audio.out_rate / g_settings.audio.in_rate; diff --git a/file.c b/file.c index e166695196..56697cd031 100644 --- a/file.c +++ b/file.c @@ -518,7 +518,7 @@ void load_ram_file(const char *path, int type) void *buf = NULL; ssize_t rc = read_file(path, &buf); - if (rc <= (ssize_t)size) + if (rc > 0 && rc <= (ssize_t)size) memcpy(data, buf, rc); free(buf); diff --git a/msvc/SSNES/SSNES/SSNES.vcxproj b/msvc/SSNES/SSNES/SSNES.vcxproj index afb17319a9..8102e2ead0 100644 --- a/msvc/SSNES/SSNES/SSNES.vcxproj +++ b/msvc/SSNES/SSNES/SSNES.vcxproj @@ -55,7 +55,7 @@ false Precise CompileAsCpp - /D HAVE_SDL /D PACKAGE_VERSION=\"0.9.3\" /D _CRT_SECURE_NO_WARNINGS /D HAVE_NETPLAY /D HAVE_THREADS /D HAVE_OPENGL /D HAVE_DYLIB /D HAVE_DYNAMIC /D HAVE_CG /D HAVE_XAUDIO /D HAVE_FBO /D HAVE_CONFIGFILE %(AdditionalOptions) + /D HAVE_SDL /D PACKAGE_VERSION=\"0.9.3\" /D _CRT_SECURE_NO_WARNINGS /D HAVE_NETPLAY /D HAVE_THREADS /D HAVE_OPENGL /D HAVE_DYLIB /D HAVE_DYNAMIC /D HAVE_CG /D HAVE_XAUDIO /D HAVE_FBO /D HAVE_CONFIGFILE /D HAVE_DSOUND %(AdditionalOptions) Console @@ -72,13 +72,13 @@ true true WIN32;NDEBUG;_WINDOWS;%(PreprocessorDefinitions) - /D HAVE_SDL /D PACKAGE_VERSION=\"0.9.3\" /D _CRT_SECURE_NO_WARNINGS /D HAVE_NETPLAY /D HAVE_THREADS /D HAVE_OPENGL /D HAVE_DYLIB /D HAVE_DYNAMIC /D HAVE_CG /D HAVE_XAUDIO /D HAVE_FBO /D HAVE_CONFIGFILE %(AdditionalOptions) + /D HAVE_SDL /D PACKAGE_VERSION=\"0.9.3\" /D _CRT_SECURE_NO_WARNINGS /D HAVE_NETPLAY /D HAVE_THREADS /D HAVE_OPENGL /D HAVE_DYLIB /D HAVE_DYNAMIC /D HAVE_CG /D HAVE_XAUDIO /D HAVE_FBO /D HAVE_CONFIGFILE /D HAVE_DSOUND %(AdditionalOptions) CompileAsCpp Fast Console - false + true true true SDL.lib;opengl32.lib;ws2_32.lib;dxguid.lib;dinput8.lib;cg.lib;cgGL.lib;winmm.lib;shlwapi.lib;dsound.lib;%(AdditionalDependencies)