From: Mauro Carvalho Chehab Date: Fri, 15 Nov 2013 10:54:33 +0000 (-0200) Subject: libdvbv5/dvb-scan: handle allocation errors X-Git-Tag: v4l-utils-1.2.0~363 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=ddff927445a17c68852a2a4f8871a9c83bb37812;p=platform%2Fupstream%2Fv4l-utils.git libdvbv5/dvb-scan: handle allocation errors Signed-off-by: Mauro Carvalho Chehab --- diff --git a/lib/libdvbv5/dvb-scan.c b/lib/libdvbv5/dvb-scan.c index f16e053..87d6ae8 100644 --- a/lib/libdvbv5/dvb-scan.c +++ b/lib/libdvbv5/dvb-scan.c @@ -131,6 +131,8 @@ int dvb_read_section_with_id(struct dvb_v5_fe_parms *parms, int dmx_fd, return -1; } buf = malloc(DVB_MAX_PAYLOAD_PACKET_SIZE); + if (!buf) + dvb_perror("Out of memory"); buf_length = read(dmx_fd, buf, DVB_MAX_PAYLOAD_PACKET_SIZE); if (!buf_length) { dvb_logerr("dvb_read_section: not enough data to read on pid %x table %x", @@ -183,8 +185,11 @@ int dvb_read_section_with_id(struct dvb_v5_fe_parms *parms, int dmx_fd, last_section = h->last_section; //ARRAY_SIZE(vb_table_initializers) >= table - if (!tbl) + if (!tbl) { tbl = malloc(MAX_TABLE_SIZE); + if (!tbl) + dvb_perror("Out of memory"); + } if (dvb_table_initializers[tid].init) { dvb_table_initializers[tid].init(parms, buf, buf_length, tbl, &table_length);