Line 36:
Line 36:
FILE* f = fopen(argv[1], "rb");
FILE* f = fopen(argv[1], "rb");
−
if(f == NULL)
+
if(!f)
PERR("fopen");
PERR("fopen");
int len = fsize(f);
int len = fsize(f);
char* buf = malloc(len);
char* buf = malloc(len);
−
if(buf == NULL)
+
if(!buf)
+
{
+
fclose(f);
PERR("malloc");
PERR("malloc");
+
}
if(fread(buf,len,1,f) != 1)
if(fread(buf,len,1,f) != 1)
+
{
+
fclose(f);
+
free(buf);
PERR("fread");
PERR("fread");
+
}
int i;
int i;
Line 54:
Line 61:
FILE* fout = fopen(argv[2], "wb+");
FILE* fout = fopen(argv[2], "wb+");
−
if(fout == NULL)
+
if(!fout)
+
{
+
fclose(f);
+
free(buf);
PERR("fopen");
PERR("fopen");
+
}
if(fwrite(buf, len, 1, fout) != 1)
if(fwrite(buf, len, 1, fout) != 1)
+
{
+
fclose(f);
+
free(buf);
+
fclose(fout);
PERR("fwrite");
PERR("fwrite");
−
+
}
free(buf);
free(buf);