From b0c14bd59ff68a63071699afa6e3c8e22dd86dba Mon Sep 17 00:00:00 2001 From: Michael Jumper Date: Tue, 6 Feb 2018 21:09:39 -0800 Subject: [PATCH 1/2] GUACAMOLE-482: Report video encoding failure if frame flush fails. --- src/guacenc/video.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) 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); } From 19b5050fbf6a61910ca145089042800211b93210 Mon Sep 17 00:00:00 2001 From: Michael Jumper Date: Tue, 6 Feb 2018 21:19:24 -0800 Subject: [PATCH 2/2] GUACAMOLE-482: Fail overall encoding process if any instruction handler reports failure. --- src/guacenc/encode.c | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) 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 */