GUACAMOLE-482: Fail overall encoding process if any instruction handler reports failure.
diff --git a/src/guacenc/encode.c b/src/guacenc/encode.c
index 854c5c6..2d74a9b 100644
--- a/src/guacenc/encode.c
+++ b/src/guacenc/encode.c
@@ -63,8 +63,11 @@
/* 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 */