imgutils: initialize palette padding bytes in av_image_alloc
av_image_fill_pointers always aligns the palette, but the padding bytes don't (and can't) get initialized in av_image_copy. Thus initialize them in av_image_alloc. This fixes 'Syscall param write(buf) points to uninitialised byte(s)' valgrind warnings. Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com> Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
This commit is contained in:
parent
a7c0c79333
commit
51f6455285
@ -219,6 +219,14 @@ int av_image_alloc(uint8_t *pointers[4], int linesizes[4],
|
||||
if (desc->flags & AV_PIX_FMT_FLAG_PAL || desc->flags & AV_PIX_FMT_FLAG_PSEUDOPAL)
|
||||
avpriv_set_systematic_pal2((uint32_t*)pointers[1], pix_fmt);
|
||||
|
||||
if ((desc->flags & AV_PIX_FMT_FLAG_PAL ||
|
||||
desc->flags & AV_PIX_FMT_FLAG_PSEUDOPAL) &&
|
||||
pointers[1] - pointers[0] > linesizes[0] * h) {
|
||||
/* zero-initialize the padding before the palette */
|
||||
memset(pointers[0] + linesizes[0] * h, 0,
|
||||
pointers[1] - pointers[0] - linesizes[0] * h);
|
||||
}
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user