aesenc: Fix IV length addition to output buffer length
authorRabindra Harlalka <13387-rabindra-harlalka@users.noreply.gitlab.freedesktop.org>
Mon, 17 Jul 2023 16:21:47 +0000 (16:21 +0000)
committerTim-Philipp Müller <tim@centricular.com>
Sat, 9 Dec 2023 11:47:03 +0000 (11:47 +0000)
Add length of IV to output buffer length only for the first buffer.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5785>

subprojects/gst-plugins-bad/ext/aes/gstaesenc.c

index 1119e2c..b02de57 100644 (file)
@@ -498,7 +498,9 @@ gst_aes_enc_transform (GstBaseTransform * base,
   gst_buffer_unmap (inbuf, &inmap);
   gst_buffer_unmap (outbuf, &outmap);
 
-  out_len = ciphertext_len + (filter->serialize_iv ? GST_AES_BLOCK_SIZE : 0);
+  out_len = ciphertext_len + ((filter->serialize_iv
+          && filter->awaiting_first_buffer)
+      ? GST_AES_BLOCK_SIZE : 0);
   gst_buffer_set_size (outbuf, out_len);
   GST_LOG_OBJECT (filter,
       "plaintext len: %d, ciphertext len: %d, padding: %d, output buffer length: %d",