From 665f2d432ccdfef91d4b3fa640582160076b18eb Mon Sep 17 00:00:00 2001 From: Michael Niedermayer Date: Wed, 23 Jan 2013 22:21:51 +0100 Subject: [PATCH] hls: add missing checks for accessing avoption fields Fixes null pointer exception and probably other things Signed-off-by: Michael Niedermayer --- libavformat/hls.c | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/libavformat/hls.c b/libavformat/hls.c index 8e46c2b875..1512122410 100644 --- a/libavformat/hls.c +++ b/libavformat/hls.c @@ -482,17 +482,17 @@ static int hls_read_header(AVFormatContext *s) c->interrupt_callback = &s->interrupt_callback; // if the URL context is good, read important options we must broker later - if (u) { + if (u && u->prot->priv_data_class) { // get the previous user agent & set back to null if string size is zero - av_free(c->user_agent); + av_freep(&c->user_agent); av_opt_get(u->priv_data, "user-agent", 0, (uint8_t**)&(c->user_agent)); - if (!strlen(c->user_agent)) + if (c->user_agent && !strlen(c->user_agent)) av_freep(&c->user_agent); // get the previous cookies & set back to null if string size is zero - av_free(c->cookies); + av_freep(&c->cookies); av_opt_get(u->priv_data, "cookies", 0, (uint8_t**)&(c->cookies)); - if (!strlen(c->cookies)) + if (c->cookies && !strlen(c->cookies)) av_freep(&c->cookies); }