X-Git-Url: https://git.ozlabs.org/?p=ppp.git;a=blobdiff_plain;f=pppd%2Fplugins%2Fradius%2Fconfig.c;fp=pppd%2Fplugins%2Fradius%2Fconfig.c;h=39744fca12f04730a4e69f9e8f293f258b63162e;hp=47c172cccf00234b9bcc135a63a14e9a30c7006b;hb=883a65eee0ea9de6aa843614bc2a97bc1dd3ccd2;hpb=1fe5196b10fc30b1dfb8b4b0ac5bf2b6fa49c297 diff --git a/pppd/plugins/radius/config.c b/pppd/plugins/radius/config.c index 47c172c..39744fc 100644 --- a/pppd/plugins/radius/config.c +++ b/pppd/plugins/radius/config.c @@ -212,6 +212,7 @@ int rc_read_config(char *filename) if ((pos = strcspn(p, "\t ")) == 0) { error("%s: line %d: bogus format: %s", filename, line, p); + fclose(configfd); return (-1); } @@ -224,6 +225,7 @@ int rc_read_config(char *filename) if (option->status != ST_UNDEF) { error("%s: line %d: duplicate option line: %s", filename, line, p); + fclose(configfd); return (-1); } @@ -234,18 +236,22 @@ int rc_read_config(char *filename) switch (option->type) { case OT_STR: if (set_option_str(filename, line, option, p) < 0) + fclose(configfd); return (-1); break; case OT_INT: if (set_option_int(filename, line, option, p) < 0) + fclose(configfd); return (-1); break; case OT_SRV: if (set_option_srv(filename, line, option, p) < 0) + fclose(configfd); return (-1); break; case OT_AUO: if (set_option_auo(filename, line, option, p) < 0) + fclose(configfd); return (-1); break; default: