---
 libavformat/rdt.c | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)

diff --git a/libavformat/rdt.c b/libavformat/rdt.c
index 304f4cf..1c3fa6b 100644
--- a/libavformat/rdt.c
+++ b/libavformat/rdt.c
@@ -427,13 +427,17 @@ rdt_parse_sdp_line (AVFormatContext *s, int st_index,
                     if ((err = av_reallocp(&rdt->rmst,
                                            count * sizeof(*rdt->rmst))) < 0) {
                         rdt->nb_rmst = 0;
-                        return err;
+                        return AVERROR(ENOMEM);
                     }
                     memset(rdt->rmst + rdt->nb_rmst, 0,
                            (count - rdt->nb_rmst) * sizeof(*rdt->rmst));
                     rdt->nb_rmst = count;
                 }
                 rdt->rmst[s->streams[n]->index] = ff_rm_alloc_rmstream();
+                if (!rdt->rmst[s->streams[n]->index]) {
+                    av_freep(&rdt->rmst);
+                    return AVERROR(ENOMEM);
+                }
                 rdt_load_mdpr(rdt, s->streams[n], (n - first) * 2);
            }
     }
-- 
1.9.1

_______________________________________________
libav-devel mailing list
[email protected]
https://lists.libav.org/mailman/listinfo/libav-devel

Reply via email to