aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorReynaldo H. Verdejo Pinochet <reynaldo@osg.samsung.com>2015-09-18 15:32:39 -0700
committerReynaldo H. Verdejo Pinochet <reynaldo@osg.samsung.com>2015-09-18 16:24:39 -0700
commiteb613877bf2b0af8c43b6bf6ec97398cfe825102 (patch)
tree394e41383a8d7f77ac5c366386e2563d36a00ae4
parentc677b42f795a77f264528424294f9a5c8949345f (diff)
downloadffmpeg-eb613877bf2b0af8c43b6bf6ec97398cfe825102.tar.gz
ffserver: break early on _parse_acl_row()
Signed-off-by: Reynaldo H. Verdejo Pinochet <reynaldo@osg.samsung.com>
-rw-r--r--ffserver_config.c50
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 */