diff options
author | pelett <ext-pelett@parkeon.com> | 2019-10-15 10:20:35 +0200 |
---|---|---|
committer | pelett <ext-pelett@parkeon.com> | 2019-10-15 10:20:35 +0200 |
commit | 0fb0a4c0c241cd01a2806492f9bf15d9dbbfba66 (patch) | |
tree | cfc8f81a16d2bbc86494d9f9afda88047d558949 /base64.c | |
parent | 916030dbf8ec72230192b5f9b7d80ce047dfc68d (diff) | |
download | base64-0fb0a4c0c241cd01a2806492f9bf15d9dbbfba66.tar.gz |
fix file closing when error occurs, lint variable type declaration to keep legacy compiler working
Diffstat (limited to 'base64.c')
-rw-r--r-- | base64.c | 37 |
1 files 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); |