static void Run( services_discovery_t *p_sd )
{
- int i;
+ int i;
/* read SAP packets */
while( !p_sd->b_die )
{
int i_read;
- uint8_t p_buffer[MAX_SAP_BUFFER];
+ uint8_t p_buffer[MAX_SAP_BUFFER];
i_read = net_Select( p_sd, p_sd->p_sys->pi_fd, NULL,
p_sd->p_sys->i_fd, p_buffer,
}
p_sdp = (sdp_t *)malloc( sizeof( sdp_t ) );
+ if( p_sdp == NULL )
+ return NULL;
p_sdp->psz_sdp = strdup( psz_sdp );
+ if( p_sdp->psz_sdp == NULL )
+ {
+ free( p_sdp );
+ return NULL;
+ }
p_sdp->psz_sessionname = NULL;
p_sdp->psz_media = NULL;
if( psz_sdp[1] != '=' )
{
msg_Warn( p_obj, "invalid packet" ) ;
- /* MEMLEAK ! */
+ FreeSDP( p_sdp );
return NULL;
}