X-Git-Url: http://git.ozo.com/?a=blobdiff_plain;f=package%2Fnetwork%2Fservices%2Fead%2Fsrc%2Ftinysrp%2Ftphrase.c;h=0ab1e085c1776f2f8b3f9c42bbae7f651b18a14d;hb=c97013b87bf23d3684aa8a796e00305452af8beb;hp=1aede0c83237671286c4d80a772b40fdc05a6010;hpb=dd4175bcc12c2f2d089f5dfd5724b4c30c49de3b;p=openwrt-github%2F.git diff --git a/package/network/services/ead/src/tinysrp/tphrase.c b/package/network/services/ead/src/tinysrp/tphrase.c index 1aede0c832..0ab1e085c1 100644 --- a/package/network/services/ead/src/tinysrp/tphrase.c +++ b/package/network/services/ead/src/tinysrp/tphrase.c @@ -62,7 +62,6 @@ void doit(char *name) { char passphrase[128], passphrase1[128]; FILE *f; - struct t_conf *tc; struct t_confent *tcent; struct t_pw eps_passwd; @@ -152,7 +151,8 @@ t_changepw(pwname, diff) if((bakfp = fopen(bakfile2, "wb")) == NULL && (unlink(bakfile2) < 0 || (bakfp = fopen(bakfile2, "wb")) == NULL)) { fclose(passfp); - fclose(bakfp); + free(bakfile); + free(bakfile2); return -1; } @@ -169,10 +169,16 @@ t_changepw(pwname, diff) #ifdef USE_RENAME unlink(bakfile); - if(rename(pwname, bakfile) < 0) + if(rename(pwname, bakfile) < 0) { + free(bakfile); + free(bakfile2); return -1; - if(rename(bakfile2, pwname) < 0) + } + if(rename(bakfile2, pwname) < 0) { + free(bakfile); + free(bakfile2); return -1; + } #else unlink(bakfile); link(pwname, bakfile);