[vlc-commits] [Git][videolan/vlc][master] 2 commits: demux: ogg: avoid pointer arithmetic on void pointers

Felix Paul Kühne (@fkuehne) gitlab at videolan.org
Fri Jul 24 07:32:58 UTC 2026



Felix Paul Kühne pushed to branch master at VideoLAN / VLC


Commits:
221611e2 by Steve Lhomme at 2026-07-24T09:21:08+02:00
demux: ogg: avoid pointer arithmetic on void pointers

- - - - -
b8105da7 by Steve Lhomme at 2026-07-24T09:21:08+02:00
configure: add -Werror=gnu-pointer-arith in extra checks

We should not do additions on void* even if GNU allows it.

- - - - -


3 changed files:

- configure.ac
- meson.build
- modules/demux/ogg.c


Changes:

=====================================
configure.ac
=====================================
@@ -1390,12 +1390,12 @@ AC_ARG_ENABLE([extra_checks],
                     [Turn some warnings into compilation error (default disabled)]),,
                     [enable_extra_checks="no"])
 AS_IF([test "${enable_extra_checks}" = "yes"], [
-    AX_APPEND_COMPILE_FLAGS([-Werror=missing-field-initializers -Werror=format -Werror=incompatible-pointer-types -Werror=restrict -Werror=int-conversion -Werror=implicit-int -Werror=return-mismatch -Werror=declaration-missing-parameter-type -Werror=excess-initializers -Werror=unterminated-string-initialization], [CFLAGS])
+    AX_APPEND_COMPILE_FLAGS([-Werror=missing-field-initializers -Werror=format -Werror=incompatible-pointer-types -Werror=restrict -Werror=int-conversion -Werror=implicit-int -Werror=return-mismatch -Werror=declaration-missing-parameter-type -Werror=excess-initializers -Werror=unterminated-string-initialization -Werror=gnu-pointer-arith], [CFLAGS])
     AC_LANG_PUSH(C++)
-    AX_APPEND_COMPILE_FLAGS([-Werror=missing-field-initializers -Werror=format -Werror=excess-initializers -Werror=unterminated-string-initialization], [CXXFLAGS])
+    AX_APPEND_COMPILE_FLAGS([-Werror=missing-field-initializers -Werror=format -Werror=excess-initializers -Werror=unterminated-string-initialization -Werror=gnu-pointer-arith], [CXXFLAGS])
     AC_LANG_POP(C++)
     AC_LANG_PUSH([Objective C])
-    AX_APPEND_COMPILE_FLAGS([-Werror=missing-field-initializers -Werror=format -Werror=excess-initializers -Werror=incompatible-pointer-types -Werror=int-conversion -Werror=implicit-int -Wextra -Werror=unterminated-string-initialization], [OBJCFLAGS])
+    AX_APPEND_COMPILE_FLAGS([-Werror=missing-field-initializers -Werror=format -Werror=excess-initializers -Werror=incompatible-pointer-types -Werror=int-conversion -Werror=implicit-int -Wextra -Werror=unterminated-string-initialization -Werror=gnu-pointer-arith], [OBJCFLAGS])
     AC_LANG_POP([Objective C])
 ])
 


=====================================
meson.build
=====================================
@@ -541,12 +541,14 @@ if get_option('extra_checks')
         '-Werror=declaration-missing-parameter-type',
         '-Werror=excess-initializers',
         '-Werror=unterminated-string-initialization',
+        '-Werror=gnu-pointer-arith',
     ]), language: ['c'])
     add_project_arguments(cpp.get_supported_arguments([
         '-Werror=missing-field-initializers',
         '-Werror=format',
         '-Werror=excess-initializers',
         '-Werror=unterminated-string-initialization',
+        '-Werror=gnu-pointer-arith',
     ]), language: ['cpp', 'objcpp'])
 endif
 


=====================================
modules/demux/ogg.c
=====================================
@@ -1408,7 +1408,7 @@ static void Ogg_DecodePacket( demux_t *p_demux,
                                                    p_stream->i_headers + p_oggpacket->bytes );
             if( p_stream->p_headers )
             {
-                memcpy( &p_stream->p_headers[p_stream->i_headers], p_oggpacket->packet, p_oggpacket->bytes );
+                memcpy( (uint8_t*)p_stream->p_headers + p_stream->i_headers, p_oggpacket->packet, p_oggpacket->bytes );
                 p_stream->i_headers += p_oggpacket->bytes;
             }
             else



View it on GitLab: https://code.videolan.org/videolan/vlc/-/compare/dd96e659eef321fd750761a4a4edef3294057c70...b8105da78375c2c7e7d221e4ace091488a6dcd44

-- 
View it on GitLab: https://code.videolan.org/videolan/vlc/-/compare/dd96e659eef321fd750761a4a4edef3294057c70...b8105da78375c2c7e7d221e4ace091488a6dcd44
You're receiving this email because of your account on code.videolan.org. Manage all notifications: https://code.videolan.org/-/profile/notifications | Help: https://code.videolan.org/help




More information about the vlc-commits mailing list