From 0fb0a4c0c241cd01a2806492f9bf15d9dbbfba66 Mon Sep 17 00:00:00 2001 From: pelett Date: Tue, 15 Oct 2019 10:20:35 +0200 Subject: fix file closing when error occurs, lint variable type declaration to keep legacy compiler working --- base64.c | 37 ++++++++++++++++++++++++------------- 1 file changed, 24 insertions(+), 13 deletions(-) diff --git a/base64.c b/base64.c index 1d6bd73..3b97eaa 100644 --- a/base64.c +++ b/base64.c @@ -112,13 +112,18 @@ unsigned int b64_decode(const unsigned char* in, unsigned int in_len, unsigned i } unsigned int b64_encodef(char *InFile, char *OutFile) { - - FILE *pInFile = fopen(InFile,"rb"); - FILE *pOutFile = fopen(OutFile,"wb"); - if ( (pInFile==NULL) || (pOutFile==NULL) ) - return 0; - - unsigned int i=0, j=0, c=0, s[3]; + FILE *pInFile = fopen(InFile,"rb"); + FILE *pOutFile = fopen(OutFile,"wb"); + unsigned int i=0; + unsigned int j=0; + unsigned int c=0; + unsigned int s[4]; + if ((pInFile==NULL) || (pOutFile==NULL) ) + { + if (pInFile!=NULL){fclose(pInFile);} + if (pOutFile!=NULL){fclose(pOutFile);} + return 0; + } while(c!=EOF) { c=fgetc(pInFile); @@ -155,12 +160,18 @@ unsigned int b64_encodef(char *InFile, char *OutFile) { unsigned int b64_decodef(char *InFile, char *OutFile) { - FILE *pInFile = fopen(InFile,"rb"); - FILE *pOutFile = fopen(OutFile,"wb"); - if ( (pInFile==NULL) || (pOutFile==NULL) ) - return 0; - - unsigned int c=0, j=0, k=0, s[4]; + FILE *pInFile = fopen(InFile,"rb"); + FILE *pOutFile = fopen(OutFile,"wb"); + unsigned int c=0; + unsigned int j=0; + unsigned int k=0; + unsigned int s[4]; + if ((pInFile==NULL) || (pOutFile==NULL) ) + { + if (pInFile!=NULL){fclose(pInFile);} + if (pOutFile!=NULL){fclose(pOutFile);} + return 0; + } while(c!=EOF) { c=fgetc(pInFile); -- cgit 1.4.1-2-gfad0