This avoids allocating space for a too large buffer for all the
name strings.
---
 libavformat/rtpdec.c | 3 ++-
 libavformat/rtpdec.h | 2 +-
 2 files changed, 3 insertions(+), 2 deletions(-)

diff --git a/libavformat/rtpdec.c b/libavformat/rtpdec.c
index f040ea6..d0b25bc 100644
--- a/libavformat/rtpdec.c
+++ b/libavformat/rtpdec.c
@@ -113,7 +113,8 @@ RTPDynamicProtocolHandler 
*ff_rtp_handler_find_by_name(const char *name,
     RTPDynamicProtocolHandler *handler;
     for (handler = rtp_first_dynamic_payload_handler;
          handler; handler = handler->next)
-        if (!av_strcasecmp(name, handler->enc_name) &&
+        if (handler->enc_name &&
+            !av_strcasecmp(name, handler->enc_name) &&
             codec_type == handler->codec_type)
             return handler;
     return NULL;
diff --git a/libavformat/rtpdec.h b/libavformat/rtpdec.h
index 46b08ce..9f1a475 100644
--- a/libavformat/rtpdec.h
+++ b/libavformat/rtpdec.h
@@ -113,7 +113,7 @@ typedef int 
(*DynamicPayloadPacketHandlerProc)(AVFormatContext *ctx,
                                                int len, uint16_t seq, int 
flags);
 
 struct RTPDynamicProtocolHandler {
-    const char enc_name[50];
+    const char *enc_name;
     enum AVMediaType codec_type;
     enum AVCodecID codec_id;
     int static_payload_id; /* 0 means no payload id is set. 0 is a valid
-- 
1.9.3 (Apple Git-50)

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

Reply via email to