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)