#include <vlc_common.h>
#include <vlc_access.h>
+#include <limits.h>
#ifdef HAVE_UNISTD_H
# include <unistd.h>
# include <IOKit/storage/IOCDMedia.h>
# include <IOKit/storage/IOCDMediaBSDClient.h>
#elif defined( HAVE_SCSIREQ_IN_SYS_SCSIIO_H )
-# include <sys/inttypes.h>
+# include <inttypes.h>
# include <sys/cdio.h>
# include <sys/scsiio.h>
#elif defined( HAVE_IOC_TOC_HEADER_IN_SYS_CDIO_H )
if( pp_sectors )
{
- *pp_sectors = malloc( (i_tracks + 1) * sizeof(**pp_sectors) );
+ *pp_sectors = calloc( i_tracks + 1, sizeof(**pp_sectors) );
if( *pp_sectors == NULL )
return 0;
memcpy( *pp_sectors, p_vcddev->p_sectors,
CDTOCDescriptor *pTrackDescriptors;
u_char track;
- *pp_sectors = malloc( (i_tracks + 1) * sizeof(**pp_sectors) );
+ *pp_sectors = calloc( i_tracks + 1, sizeof(**pp_sectors) );
if( *pp_sectors == NULL )
{
darwin_freeTOC( pTOC );
((unsigned int)p_tocheader[1] << 8);
p_fulltoc = malloc( i_toclength );
- *pp_sectors = malloc( (i_tracks + 1) * sizeof(**pp_sectors) );
+ *pp_sectors = calloc( i_tracks + 1, sizeof(**pp_sectors) );
if( *pp_sectors == NULL || p_fulltoc == NULL )
{
{
int i;
- *pp_sectors = malloc( (i_tracks + 1) * sizeof(**pp_sectors) );
+ *pp_sectors = calloc( i_tracks + 1, sizeof(**pp_sectors) );
if( *pp_sectors == NULL )
return 0;
{
int i;
- *pp_sectors = malloc( (i_tracks + 1) * sizeof(**pp_sectors) );
+ *pp_sectors = calloc( i_tracks + 1, sizeof(**pp_sectors) );
if( *pp_sectors == NULL )
return 0;
{
int i;
- *pp_sectors = malloc( (i_tracks + 1) * sizeof(**pp_sectors) );
+ *pp_sectors = calloc( i_tracks + 1, sizeof(**pp_sectors) );
if( *pp_sectors == NULL )
return 0;
sc.flags = SCCMD_READ;
sc.timeout = 10000;
- i_ret = ioctl( i_fd, SCIOCCOMMAND, &sc );
+ i_ret = ioctl( p_vcddev->i_device_handle, SCIOCCOMMAND, &sc );
if( i_ret == -1 )
{
msg_Err( p_this, "SCIOCCOMMAND failed" );
* about the cuefile */
size_t i_tracks = 0;
- while( fgets( line, 1024, cuefile ) )
+ while( fgets( line, 1024, cuefile ) && i_tracks < INT_MAX-1 )
{
/* look for a TRACK line */
char psz_dummy[9];
&i_min, &i_sec, &i_frame ) != 4) || (i_num != 1) )
continue;
- int *buf = realloc (p_sectors, (i_tracks + 1) * sizeof (int));
+ int *buf = realloc (p_sectors, (i_tracks + 1) * sizeof (*buf));
if (buf == NULL)
goto error;
p_sectors = buf;
}
/* fill in the last entry */
- int *buf = realloc (p_sectors, (i_tracks + 1) * sizeof (int));
+ int *buf = realloc (p_sectors, (i_tracks + 1) * sizeof (*buf));
if (buf == NULL)
goto error;
p_sectors = buf;
for( int j = 0; j < 0x10; j++ )
{
- const char *psz_default = pppsz_info[0][j];
for( int i = 0; i <= i_track_last; i++ )
{
+ /* */
+ if( pppsz_info[i][j] )
+ EnsureUTF8( pppsz_info[i][j] );
+
+ /* */
+ const char *psz_default = pppsz_info[0][j];
const char *psz_value = pppsz_info[i][j];
if( !psz_value && !psz_default )
}
break;
case 0x01: /* Performer */
- vlc_meta_SetArtist( p_track, psz_value ?: psz_default );
+ vlc_meta_SetArtist( p_track,
+ psz_value ? psz_value : psz_default );
break;
case 0x05: /* Messages */
- vlc_meta_SetDescription( p_track, psz_value ?: psz_default );
+ vlc_meta_SetDescription( p_track,
+ psz_value ? psz_value : psz_default );
break;
case 0x07: /* Genre */
- vlc_meta_SetGenre( p_track, psz_value ?: psz_default );
+ vlc_meta_SetGenre( p_track,
+ psz_value ? psz_value : psz_default );
break;
/* FIXME unsupported:
* 0x02: songwriter