diff --git a/libavformat/rtsp.c b/libavformat/rtsp.c
index 1c2c5552b9bced248533d0dbcc99181ee123f451..3246718bf19a9695d87e76814028497889d8ac0d 100644
--- a/libavformat/rtsp.c
+++ b/libavformat/rtsp.c
@@ -2239,6 +2239,8 @@ static int sdp_read_header(AVFormatContext *s)
     /* read the whole sdp file */
     /* XXX: better loading */
     content = av_malloc(SDP_MAX_SIZE);
+    if (!content)
+        return AVERROR(ENOMEM);
     size = avio_read(s->pb, content, SDP_MAX_SIZE - 1);
     if (size <= 0) {
         av_free(content);