GUACAMOLE-847: Merge fix for leaked RDPSND packet memory.

diff --git a/src/protocols/rdp/guac_rdpsnd/rdpsnd_service.c b/src/protocols/rdp/guac_rdpsnd/rdpsnd_service.c
index cc367c4..45de442 100644
--- a/src/protocols/rdp/guac_rdpsnd/rdpsnd_service.c
+++ b/src/protocols/rdp/guac_rdpsnd/rdpsnd_service.c
@@ -110,35 +110,36 @@
      * If next PDU is SNDWAVE (due to receiving WaveInfo PDU previously),
      * ignore the header and parse as a Wave PDU.
      */
-    if (rdpsnd->next_pdu_is_wave) {
+    if (rdpsnd->next_pdu_is_wave)
         guac_rdpsnd_wave_handler(rdpsnd, input_stream, &header);
-        return;
-    }
-
+    
     /* Dispatch message to standard handlers */
-    switch (header.message_type) {
+    else {
+        switch (header.message_type) {
 
-        /* Server Audio Formats and Version PDU */
-        case SNDC_FORMATS:
-            guac_rdpsnd_formats_handler(rdpsnd, input_stream, &header);
-            break;
+            /* Server Audio Formats and Version PDU */
+            case SNDC_FORMATS:
+                guac_rdpsnd_formats_handler(rdpsnd, input_stream, &header);
+                break;
 
-        /* Training PDU */
-        case SNDC_TRAINING:
-            guac_rdpsnd_training_handler(rdpsnd, input_stream, &header);
-            break;
+            /* Training PDU */
+            case SNDC_TRAINING:
+                guac_rdpsnd_training_handler(rdpsnd, input_stream, &header);
+                break;
 
-        /* WaveInfo PDU */
-        case SNDC_WAVE:
-            guac_rdpsnd_wave_info_handler(rdpsnd, input_stream, &header);
-            break;
+            /* WaveInfo PDU */
+            case SNDC_WAVE:
+                guac_rdpsnd_wave_info_handler(rdpsnd, input_stream, &header);
+                break;
 
-        /* Close PDU */
-        case SNDC_CLOSE:
-            guac_rdpsnd_close_handler(rdpsnd, input_stream, &header);
-            break;
+            /* Close PDU */
+            case SNDC_CLOSE:
+                guac_rdpsnd_close_handler(rdpsnd, input_stream, &header);
+                break;
 
+        }
     }
 
+    Stream_Free(input_stream, TRUE);
 }