int i;
for( i = 0; i < i_size/2; i++ )
psz_string[i] = GetWLE( &p_data[2*i] );
- psz_string[i_size/2] = '\0'; \
+ psz_string[i_size/2] = '\0';
}
}
else
/* Read data */
if( p_record->i_type == ASF_METADATA_TYPE_STRING )
{
- p_record->p_data = ASF_READS( i_data );
+ p_record->p_data = (uint8_t *)ASF_READS( i_data );
p_record->i_data = i_data/2; /* FIXME Is that needed ? */
}
else if( p_record->i_type == ASF_METADATA_TYPE_BYTE )
else if( i_type == 3 )
{
/* DWord */
- asprintf( &p_ec->ppsz_value[i], "%d", ASF_READ4() );
+ if( asprintf( &p_ec->ppsz_value[i], "%d", ASF_READ4() ) == -1 )
+ p_ec->ppsz_value[i] = NULL;
}
else if( i_type == 4 )
{
/* QWord */
- asprintf( &p_ec->ppsz_value[i], "%"PRId64, ASF_READ8() );
+ if( asprintf( &p_ec->ppsz_value[i], "%"PRId64, ASF_READ8() ) == -1 )
+ p_ec->ppsz_value[i] = NULL;
}
else if( i_type == 5 )
{
/* Word */
- asprintf( &p_ec->ppsz_value[i], "%d", ASF_READ2() );
+ if( asprintf( &p_ec->ppsz_value[i], "%d", ASF_READ2() ) == -1 )
+ p_ec->ppsz_value[i] = NULL;
}
else
{
static void ASF_ObjectDumpDebug( vlc_object_t *p_obj,
- asf_object_common_t *p_node, int i_level )
+ asf_object_common_t *p_node, unsigned i_level )
{
- char str[1024];
- int i;
+ unsigned i;
union asf_object_u *p_child;
const char *psz_name;
}
psz_name = ASF_ObjectDumpDebugInfo[i].psz_name;
+ char str[512];
+ if( i_level * 5 + 1 >= sizeof(str) )
+ return;
+
memset( str, ' ', sizeof( str ) );
for( i = 1; i < i_level; i++ )
{
str[i * 5] = '|';
}
- snprintf( str + 5*i_level, 1024,
+ snprintf( &str[5*i_level], sizeof(str) - 5*i_level,
"+ '%s' GUID "GUID_FMT" size:%"PRIu64"pos:%"PRIu64,
psz_name,
GUID_PRINT( p_node->i_object_id ),