summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--libhb/common.c9
-rw-r--r--test/test.c7
2 files changed, 13 insertions, 3 deletions
diff --git a/libhb/common.c b/libhb/common.c
index c8cc8dddc..f0ad9e4a2 100644
--- a/libhb/common.c
+++ b/libhb/common.c
@@ -667,8 +667,13 @@ void hb_filter_close( hb_filter_object_t ** _f )
*********************************************************************/
hb_audio_t *hb_audio_copy(const hb_audio_t *src)
{
- hb_audio_t *audio = calloc(1, sizeof(*audio));
- memcpy(audio, src, sizeof(*audio));
+ hb_audio_t *audio = NULL;
+
+ if( src )
+ {
+ audio = calloc(1, sizeof(*audio));
+ memcpy(audio, src, sizeof(*audio));
+ }
return audio;
}
diff --git a/test/test.c b/test/test.c
index 3fd9d0e62..01cd715f8 100644
--- a/test/test.c
+++ b/test/test.c
@@ -965,7 +965,12 @@ static int HandleEvents( hb_handle_t * h )
}
else
{
- hb_audio_add( job, audio );
+ if( hb_audio_add( job, audio ) == 0 )
+ {
+ fprintf(stderr, "ERROR: Invalid audio input track '%u', skipping.\n",
+ audio->in.track + 1 );
+ num_audio_tracks--;
+ }
}
hb_list_rem(audios, audio);
if( audio != NULL)