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