From 906c13c1e13d51ad77b09cbdf856c8c28433a0a8 Mon Sep 17 00:00:00 2001 From: Dion Williams Date: Tue, 9 Apr 2013 19:29:10 +0100 Subject: [PATCH] Fix Sys_DefaultHomePath not calling FreeLibrary on all code paths in code/sys/sys_win32.c --- code/sys/sys_win32.c | 17 ++++++++--------- 1 files changed, 8 insertions(+), 9 deletions(-) diff --git a/code/sys/sys_win32.c b/code/sys/sys_win32.c index bbb8ead..76fea30 100644 --- a/code/sys/sys_win32.c +++ b/code/sys/sys_win32.c @@ -89,15 +89,15 @@ char *Sys_DefaultHomePath( void ) TCHAR szPath[MAX_PATH]; FARPROC qSHGetFolderPath; HMODULE shfolder = LoadLibrary("shfolder.dll"); - - if(!*homePath && com_homepath) + + if(shfolder == NULL) { - if(shfolder == NULL) - { - Com_Printf("Unable to load SHFolder.dll\n"); - return NULL; - } + Com_Printf("Unable to load SHFolder.dll\n"); + return NULL; + } + if(!*homePath && com_homepath) + { qSHGetFolderPath = GetProcAddress(shfolder, "SHGetFolderPathA"); if(qSHGetFolderPath == NULL) { @@ -120,10 +120,9 @@ char *Sys_DefaultHomePath( void ) Q_strcat(homePath, sizeof(homePath), com_homepath->string); else Q_strcat(homePath, sizeof(homePath), HOMEPATH_NAME_WIN); - - FreeLibrary(shfolder); } + FreeLibrary(shfolder); return homePath; } -- 1.7.8.msysgit.0