]> git.sesse.net Git - vlc/blobdiff - modules/access/dvb/en50221.c
Do not assert memory allocations
[vlc] / modules / access / dvb / en50221.c
index d17a24aa84393af3b8cd5f97fad3e26b78ed50bf..1ad3c0e8014be43548560ed5a7dfd07d3e2f68a3 100644 (file)
@@ -272,8 +272,7 @@ static int TPDURecv( access_t * p_access, uint8_t i_slot, uint8_t *pi_tag,
 
     if ( pi_size == NULL )
     {
-        p_data = malloc( MAX_TPDU_SIZE );
-        assert( p_data );
+        p_data = xmalloc( MAX_TPDU_SIZE );
     }
 
     for ( ; ; )
@@ -354,13 +353,11 @@ static int SPDUSend( access_t * p_access, int i_session_id,
                      uint8_t *p_data, int i_size )
 {
     access_sys_t *p_sys = p_access->p_sys;
-    uint8_t *p_spdu = malloc( i_size + 4 );
+    uint8_t *p_spdu = xmalloc( i_size + 4 );
     uint8_t *p = p_spdu;
     uint8_t i_tag;
     uint8_t i_slot = p_sys->p_sessions[i_session_id - 1].i_slot;
 
-    assert( p_spdu );
-
     *p++ = ST_SESSION_NUMBER;
     *p++ = 0x02;
     *p++ = (i_session_id >> 8);
@@ -804,13 +801,11 @@ static int APDUSend( access_t * p_access, int i_session_id, int i_tag,
                      uint8_t *p_data, int i_size )
 {
     access_sys_t *p_sys = p_access->p_sys;
-    uint8_t *p_apdu = malloc( i_size + 12 );
+    uint8_t *p_apdu = xmalloc( i_size + 12 );
     uint8_t *p = p_apdu;
     ca_msg_t ca_msg;
     int i_ret;
 
-    assert( p_apdu );
-
     *p++ = (i_tag >> 16);
     *p++ = (i_tag >> 8) & 0xff;
     *p++ = i_tag & 0xff;
@@ -1052,11 +1047,9 @@ static uint8_t *CAPMTHeader( system_ids_t *p_ids, uint8_t i_list_mgt,
     uint8_t *p_data;
 
     if ( i_size )
-        p_data = malloc( 7 + i_size );
+        p_data = xmalloc( 7 + i_size );
     else
-        p_data = malloc( 6 );
-
-    assert( p_data );
+        p_data = xmalloc( 6 );
 
     p_data[0] = i_list_mgt;
     p_data[1] = i_program_number >> 8;
@@ -1108,11 +1101,9 @@ static uint8_t *CAPMTES( system_ids_t *p_ids, uint8_t *p_capmt,
     int i;
  
     if ( i_size )
-        p_data = realloc( p_capmt, i_capmt_size + 6 + i_size );
+        p_data = xrealloc( p_capmt, i_capmt_size + 6 + i_size );
     else
-        p_data = realloc( p_capmt, i_capmt_size + 5 );
-
-    assert( p_data );
+        p_data = xrealloc( p_capmt, i_capmt_size + 5 );
 
     i = i_capmt_size;
 
@@ -1581,8 +1572,7 @@ static void MMISendObject( access_t *p_access, int i_session_id,
     case EN50221_MMI_ANSW:
         i_tag = AOT_ANSW;
         i_size = 1 + strlen( p_object->u.answ.psz_answ );
-        p_data = malloc( i_size );
-        assert( p_data );
+        p_data = xmalloc( i_size );
         p_data[0] = (p_object->u.answ.b_ok == true) ? 0x1 : 0x0;
         strncpy( (char *)&p_data[1], p_object->u.answ.psz_answ, i_size - 1 );
         break;
@@ -1590,8 +1580,7 @@ static void MMISendObject( access_t *p_access, int i_session_id,
     case EN50221_MMI_MENU_ANSW:
         i_tag = AOT_MENU_ANSW;
         i_size = 1;
-        p_data = malloc( i_size );
-        assert( p_data );
+        p_data = xmalloc( i_size );
         p_data[0] = p_object->u.menu_answ.i_choice;
         break;
 
@@ -1677,8 +1666,7 @@ static void MMIHandleEnq( access_t *p_access, int i_session_id,
     p_mmi->last_object.u.enq.b_blind = (*d & 0x1) ? true : false;
     d += 2; /* skip answer_text_length because it is not mandatory */
     l -= 2;
-    p_mmi->last_object.u.enq.psz_text = malloc( l + 1 );
-    assert( p_mmi->last_object.u.enq.psz_text );
+    p_mmi->last_object.u.enq.psz_text = xmalloc( l + 1 );
     strncpy( p_mmi->last_object.u.enq.psz_text, (char *)d, l );
     p_mmi->last_object.u.enq.psz_text[l] = '\0';
 
@@ -1820,9 +1808,8 @@ static void MMIOpen( access_t *p_access, int i_session_id )
 
     p_sys->p_sessions[i_session_id - 1].pf_handle = MMIHandle;
     p_sys->p_sessions[i_session_id - 1].pf_close = MMIClose;
-    p_sys->p_sessions[i_session_id - 1].p_sys = malloc(sizeof(mmi_t));
+    p_sys->p_sessions[i_session_id - 1].p_sys = xmalloc(sizeof(mmi_t));
     p_mmi = (mmi_t *)p_sys->p_sessions[i_session_id - 1].p_sys;
-    assert( p_mmi );
     p_mmi->last_object.i_object_type = EN50221_MMI_NONE;
 }
 
@@ -2452,8 +2439,7 @@ char *dvbsi_to_utf8( const char *psz_instring, size_t i_length )
     iconv_handle = vlc_iconv_open( "UTF-8", psz_encoding );
     i_in = i_length - (psz_stringstart - psz_instring );
     i_out = i_in * 6;
-    psz_outstring = psz_tmp = (char*)malloc( i_out + 1 );
-    assert( psz_outstring );
+    psz_outstring = psz_tmp = (char*)xmalloc( i_out + 1 );
     vlc_iconv( iconv_handle, &psz_stringstart, &i_in, &psz_tmp, &i_out );
     vlc_iconv_close( iconv_handle );
     *psz_tmp = '\0';