Index: firmware/mpeg.c =================================================================== --- firmware/mpeg.c (revision 13770) +++ firmware/mpeg.c (working copy) @@ -2263,11 +2263,13 @@ void audio_record(const char *filename) { mpeg_errno = 0; + if (filename) + { + strncpy(recording_filename, filename, MAX_PATH - 1); + recording_filename[MAX_PATH - 1] = 0; - strncpy(recording_filename, filename, MAX_PATH - 1); - recording_filename[MAX_PATH - 1] = 0; - - queue_post(&mpeg_queue, MPEG_RECORD, 0); + queue_post(&mpeg_queue, MPEG_RECORD, 0); + } } void audio_pause_recording(void) @@ -2576,11 +2578,13 @@ void audio_new_file(const char *filename) { mpeg_errno = 0; - - strncpy(recording_filename, filename, MAX_PATH - 1); - recording_filename[MAX_PATH - 1] = 0; - - queue_post(&mpeg_queue, MPEG_NEW_FILE, 0); + if (filename) + { + strncpy(recording_filename, filename, MAX_PATH - 1); + recording_filename[MAX_PATH - 1] = 0; + + queue_post(&mpeg_queue, MPEG_NEW_FILE, 0); + } } unsigned long audio_recorded_time(void)