diff --git a/src/guacenc/encode.c b/src/guacenc/encode.c index 854c5c60..2d74a9b6 100644 --- a/src/guacenc/encode.c +++ b/src/guacenc/encode.c @@ -63,8 +63,11 @@ static int guacenc_read_instructions(guacenc_display* display, /* Continuously read and handle all instructions */ while (!guac_parser_read(parser, socket, -1)) { - guacenc_handle_instruction(display, parser->opcode, - parser->argc, parser->argv); + if (guacenc_handle_instruction(display, parser->opcode, + parser->argc, parser->argv)) { + guac_parser_free(parser); + return 1; + } } /* Fail on read/parse error */ diff --git a/src/guacenc/video.c b/src/guacenc/video.c index 4ca84f69..4592a2bb 100644 --- a/src/guacenc/video.c +++ b/src/guacenc/video.c @@ -228,7 +228,11 @@ int guacenc_video_advance_timeline(guacenc_video* video, /* Flush frames to bring timeline in sync, duplicating if necessary */ do { - guacenc_video_flush_frame(video); + if (guacenc_video_flush_frame(video)) { + guacenc_log(GUAC_LOG_ERROR, "Unable to flush frame to video " + "stream."); + return 1; + } } while (--elapsed != 0); }