From ecfa9ae6ef07f42ad6c732e4b141ddcc52f58c4c Mon Sep 17 00:00:00 2001 From: Oliver Schneider Date: Wed, 15 Mar 2017 22:46:15 +0000 Subject: Adding error checks in two places --HG-- branch : WDS-build --- .hgignore | 1 + src/host/os_match.c | 13 ++++++++++--- src/host/os_uuid.c | 4 +++- 3 files changed, 14 insertions(+), 4 deletions(-) diff --git a/.hgignore b/.hgignore index fa9c505..ef2ea98 100644 --- a/.hgignore +++ b/.hgignore @@ -41,3 +41,4 @@ intermediate/** premake4.exe src/host/hgtip.h *.asc +.vs/** diff --git a/src/host/os_match.c b/src/host/os_match.c index 460bf5f..3e20282 100644 --- a/src/host/os_match.c +++ b/src/host/os_match.c @@ -36,9 +36,16 @@ int os_matchstart(lua_State* L) { const char* mask = luaL_checkstring(L, 1); MatchInfo* m = (MatchInfo*)malloc(sizeof(MatchInfo)); - m->handle = FindFirstFile(mask, &m->entry); /* error handling happens in os_matchnext() below */ - m->is_first = 1; - lua_pushlightuserdata(L, m); + if (m) + { + m->handle = FindFirstFile(mask, &m->entry); /* error handling happens in os_matchnext() below */ + m->is_first = 1; + lua_pushlightuserdata(L, m); + } + else + { + lua_pushnil(L); + } return 1; } diff --git a/src/host/os_uuid.c b/src/host/os_uuid.c index 28be4e8..e3bee6b 100644 --- a/src/host/os_uuid.c +++ b/src/host/os_uuid.c @@ -15,7 +15,9 @@ int os_uuid(lua_State* L) char uuid[38]; #if PLATFORM_WINDOWS - CoCreateGuid((GUID*)bytes); + HRESULT hr = CoCreateGuid((GUID*)bytes); + if (FAILED(hr)) + return 0; #else int result; -- cgit v1.2.3