Sfoglia il codice sorgente

win-dshow: Check return value of ReadFile

Richard Stanway 4 anni fa
parent
commit
6424901120
1 ha cambiato i file con 13 aggiunte e 11 eliminazioni
  1. 13 11
      plugins/win-dshow/virtualcam-module/virtualcam-filter.cpp

+ 13 - 11
plugins/win-dshow/virtualcam-module/virtualcam-filter.cpp

@@ -74,18 +74,20 @@ VCamFilter::VCamFilter()
 			char res[128];
 			DWORD len = 0;
 
-			ReadFile(file, res, sizeof(res), &len, nullptr);
-			CloseHandle(file);
-
-			res[len] = 0;
-			int vals = sscanf(res,
-					  "%" PRIu32 "x%" PRIu32 "x%" PRIu64,
-					  &new_cx, &new_cy, &new_interval);
-			if (vals != 3) {
-				new_cx = cx;
-				new_cy = cy;
-				new_interval = interval;
+			if (ReadFile(file, res, sizeof(res) - 1, &len,
+				     nullptr)) {
+				res[len] = 0;
+				int vals = sscanf(
+					res, "%" PRIu32 "x%" PRIu32 "x%" PRIu64,
+					&new_cx, &new_cy, &new_interval);
+				if (vals != 3) {
+					new_cx = cx;
+					new_cy = cy;
+					new_interval = interval;
+				}
 			}
+
+			CloseHandle(file);
 		}
 	}