Detected by Coveruty Scan. Issue 434089
void
parse_externalAclHelper(external_acl ** list)
{
void
parse_externalAclHelper(external_acl ** list)
{
- external_acl *a = new external_acl;
char *token = ConfigParser::NextToken();
char *token = ConfigParser::NextToken();
+ external_acl *a = new external_acl;
a->name = xstrdup(token);
// Allow supported %macros inside quoted tokens
a->name = xstrdup(token);
// Allow supported %macros inside quoted tokens
}
/* There must be at least one format token */
}
/* There must be at least one format token */
+ if (!a->format.format) {
+ delete a;
// format has implicit %DATA on the end if not used explicitly
if (!data_used) {
// format has implicit %DATA on the end if not used explicitly
if (!data_used) {
+ if (!token) {
+ delete a;
wordlistAdd(&a->cmdline, token);
wordlistAdd(&a->cmdline, token);
void
ACLExternal::parse()
{
void
ACLExternal::parse()
{
char *token = ConfigParser::strtokFile();
char *token = ConfigParser::strtokFile();
data = new external_acl_data(find_externalAclHelper(token));
data = new external_acl_data(find_externalAclHelper(token));
+ if (!data->def) {
+ delete data;
// def->name is the name of the external_acl_type.
// this is the name of the 'acl' directive being tested
// def->name is the name of the external_acl_type.
// this is the name of the 'acl' directive being tested