[vlc-commits] [Git][videolan/vlc][master] win32: spawn: avoid Wbad-function-cast

Steve Lhomme (@robUx4) gitlab at videolan.org
Sun Aug 6 08:06:47 UTC 2023



Steve Lhomme pushed to branch master at VideoLAN / VLC


Commits:
69b8dde8 by Johannes Kauffmann at 2023-08-06T07:48:07+00:00
win32: spawn: avoid Wbad-function-cast

Instead of casting the return value of _get_osfhandle() immediately to
HANDLE, check for the error cases first, and only cast to HANDLE when
used in DuplicateHandle().

- - - - -


1 changed file:

- src/win32/spawn.c


Changes:

=====================================
src/win32/spawn.c
=====================================
@@ -73,15 +73,15 @@ error:
 
 static HANDLE dup_handle_from_fd(const int fd)
 {
-    HANDLE vlc_handle = (HANDLE)_get_osfhandle(fd);
-    if (vlc_handle == INVALID_HANDLE_VALUE)
-        return vlc_handle;
+    intptr_t vlc_handle = _get_osfhandle(fd);
+    if (vlc_handle == (intptr_t)INVALID_HANDLE_VALUE)
+        return INVALID_HANDLE_VALUE;
 
-    if (vlc_handle == (HANDLE)-2)
+    if (vlc_handle == -2)
         return INVALID_HANDLE_VALUE;
 
     HANDLE dup_inheritable_handle;
-    BOOL result = DuplicateHandle(GetCurrentProcess(), vlc_handle, GetCurrentProcess(),
+    BOOL result = DuplicateHandle(GetCurrentProcess(), (HANDLE)vlc_handle, GetCurrentProcess(),
                                   &dup_inheritable_handle, 0, TRUE, DUPLICATE_SAME_ACCESS);
     if (!result)
         return INVALID_HANDLE_VALUE;



View it on GitLab: https://code.videolan.org/videolan/vlc/-/commit/69b8dde81b2cdbc4306c1e3f20f03bf8876adcaa

-- 
View it on GitLab: https://code.videolan.org/videolan/vlc/-/commit/69b8dde81b2cdbc4306c1e3f20f03bf8876adcaa
You're receiving this email because of your account on code.videolan.org.


VideoLAN code repository instance


More information about the vlc-commits mailing list