Просмотр исходного кода

libobs: Don't leak dynamic library references

Michael Fabian 'Xaymar' Dirks 6 лет назад
Родитель
Сommit
4159477e43
1 измененных файлов с 5 добавлено и 1 удалено
  1. 5 1
      libobs/obs-windows.c

+ 5 - 1
libobs/obs-windows.c

@@ -183,6 +183,7 @@ static void log_aero(void)
 	composition_enabled = (dwm_is_composition_enabled_t)GetProcAddress(
 		dwm, "DwmIsCompositionEnabled");
 	if (!composition_enabled) {
+		FreeLibrary(dwm);
 		return;
 	}
 
@@ -832,10 +833,13 @@ void reset_win32_symbol_paths(void)
 			(void *)GetProcAddress(mod, "SymInitializeW");
 		sym_set_search_path_w =
 			(void *)GetProcAddress(mod, "SymSetSearchPathW");
-		if (!sym_initialize_w || !sym_set_search_path_w)
+		if (!sym_initialize_w || !sym_set_search_path_w) {
+			FreeLibrary(mod);
 			return;
+		}
 
 		initialize_success = true;
+		// Leaks 'mod' once.
 	}
 
 	if (!initialize_success)