diff --git a/libavformat/rtsp.c b/libavformat/rtsp.c
index 1b60b4ff44696286c0f6380ed125927d526e84ad..cbea685dcfe2bfd9b224afc854149b48242527a5 100644
--- a/libavformat/rtsp.c
+++ b/libavformat/rtsp.c
@@ -972,6 +972,8 @@ static void rtsp_parse_transport(RTSPMessageHeader *reply, const char *p)
             p++;
 
         reply->nb_transports++;
+        if (reply->nb_transports >= RTSP_MAX_TRANSPORTS)
+            break;
     }
 }