valgrind has no way to know that the kernel will fill links and pads
arrays passed to an ioctl through __user pointers. Allocate the arrays
with calloc() to make sure they get initialized. This also fixes the
potential integer overflow.
Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Acked-by: Sakari Ailus <sakari.ailus@iki.fi>
unsigned int i;
links.entity = entity->info.id;
- links.pads = malloc(entity->info.pads * sizeof(struct media_pad_desc));
- links.links = malloc(entity->info.links * sizeof(struct media_link_desc));
+ links.pads = calloc(entity->info.pads, sizeof(struct media_pad_desc));
+ links.links = calloc(entity->info.links, sizeof(struct media_link_desc));
if (ioctl(media->fd, MEDIA_IOC_ENUM_LINKS, &links) < 0) {
media_dbg(media,