diff --git a/libavformat/aiff.c b/libavformat/aiff.c
index 70569ed5a90c6e7a7c12d09f229f793adb52b0ef..6ddf633acf60846861e155167c282ada2e6502c5 100644
--- a/libavformat/aiff.c
+++ b/libavformat/aiff.c
@@ -81,13 +81,7 @@ static int get_tag(ByteIOContext *pb, uint32_t * tag)
 /* Metadata string read */
 static void get_meta(ByteIOContext *pb, char * str, int strsize, int size)
 {
-    int res;
-
-    if (size > strsize-1)
-        res = get_buffer(pb, (uint8_t*)str, strsize-1);
-    else
-        res = get_buffer(pb, (uint8_t*)str, size);
-
+    int res = get_buffer(pb, (uint8_t*)str, FFMIN(strsize-1, size));
     if (res < 0)
         return;