Changes

Jump to navigation Jump to search
m
no edit summary
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);
71

edits

Navigation menu