• Eric Pouech's avatar
    avifil32: Fix GCC 12.2 warning (-Warray-bounds). · 52a83ffe
    Eric Pouech authored
    Since struct _IAVIStreamImpl has a pointer to a WAVEFORMATEX,
    GCC 12.2 emits warning when dereferencing that pointer when
    the block has been allocated with sizeof(PCMWAVEFORMAT).
    
    The warning is fixed by always allocating with sizeof(WAVEFORMATEX).
    This will overallocate in case of a PCM stream.
    
    The alternative would have been to store in struct _IAVIStreamImpl
    a pointer to PCMWAVEFORMAT instead, and add the casting to a
    WAVEFORMATEX when needed. That would clutter the code IMO since most
    of the ACM APIs expect a LPWAVEFORMATEX.
    
    /home/eric/work/wine/dlls/avifil32/acmstream.c: In function 'AVIFILE_OpenCompressor':
    /home/eric/work/wine/dlls/avifil32/acmstream.c:105:24: warning: array subscript 'struct tWAVEFORMATEX[0]' is partly outside array bounds of 'unsigned char[16]' [-Warray-bounds]
      105 |       This->lpOutFormat->wFormatTag = WAVE_FORMAT_PCM;
          |                        ^~
    /home/eric/work/wine/dlls/avifil32/acmstream.c:101:27: note: object of size 16 allocated by 'HeapAlloc'
      101 |       This->lpOutFormat = HeapAlloc(GetProcessHeap(), 0, This->cbOutFormat);
          |                           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    Signed-off-by: 's avatarEric Pouech <eric.pouech@gmail.com>
    52a83ffe
Name
Last commit
Last update
dlls Loading commit data...
documentation Loading commit data...
fonts Loading commit data...
include Loading commit data...
libs Loading commit data...
loader Loading commit data...
nls Loading commit data...
po Loading commit data...
programs Loading commit data...
server Loading commit data...
tools Loading commit data...
.editorconfig Loading commit data...
.gitlab-ci.yml Loading commit data...
.mailmap Loading commit data...
ANNOUNCE Loading commit data...
AUTHORS Loading commit data...
COPYING.LIB Loading commit data...
LICENSE Loading commit data...
LICENSE.OLD Loading commit data...
MAINTAINERS Loading commit data...
README Loading commit data...
VERSION Loading commit data...
aclocal.m4 Loading commit data...
configure Loading commit data...
configure.ac Loading commit data...