diff options
author | Reynaldo H. Verdejo Pinochet <reynaldo@osg.samsung.com> | 2015-09-19 01:32:39 +0300 |
---|---|---|
committer | Reynaldo H. Verdejo Pinochet <reynaldo@osg.samsung.com> | 2015-09-19 02:24:39 +0300 |
commit | eb613877bf2b0af8c43b6bf6ec97398cfe825102 (patch) | |
tree | 394e41383a8d7f77ac5c366386e2563d36a00ae4 | |
parent | c677b42f795a77f264528424294f9a5c8949345f (diff) |
ffserver: break early on _parse_acl_row()
Signed-off-by: Reynaldo H. Verdejo Pinochet <reynaldo@osg.samsung.com>
-rw-r--r-- | ffserver_config.c | 50 |
1 files changed, 27 insertions, 23 deletions
diff --git a/ffserver_config.c b/ffserver_config.c index de8a4547fb..5df871c36a 100644 --- a/ffserver_config.c +++ b/ffserver_config.c @@ -116,6 +116,8 @@ void ffserver_parse_acl_row(FFServerStream *stream, FFServerStream* feed, { char arg[1024]; FFServerIPAddressACL acl; + FFServerIPAddressACL *nacl; + FFServerIPAddressACL **naclp; int errors = 0; ffserver_get_arg(arg, sizeof(arg), &p); @@ -150,33 +152,35 @@ void ffserver_parse_acl_row(FFServerStream *stream, FFServerStream* feed, } } - if (!errors) { - FFServerIPAddressACL *nacl = av_mallocz(sizeof(*nacl)); - FFServerIPAddressACL **naclp = 0; - - acl.next = 0; - *nacl = acl; + if (errors) + return; - if (stream) - naclp = &stream->acl; - else if (feed) - naclp = &feed->acl; - else if (ext_acl) - naclp = &ext_acl; - else { - fprintf(stderr, "%s:%d: ACL found not in <Stream> or <Feed>\n", - filename, line_num); - errors++; - } + nacl = av_mallocz(sizeof(*nacl)); + naclp = 0; - if (naclp) { - while (*naclp) - naclp = &(*naclp)->next; + acl.next = 0; + *nacl = acl; - *naclp = nacl; - } else - av_free(nacl); + if (stream) + naclp = &stream->acl; + else if (feed) + naclp = &feed->acl; + else if (ext_acl) + naclp = &ext_acl; + else { + fprintf(stderr, "%s:%d: ACL found not in <Stream> or <Feed>\n", + filename, line_num); + errors++; /* FIXME: No effect whatsoever */ } + + if (naclp) { + while (*naclp) + naclp = &(*naclp)->next; + + *naclp = nacl; + } else + av_free(nacl); + } /* add a codec and set the default parameters */ |