mirror of
				git://git.code.sf.net/p/cdesktopenv/code
				synced 2025-03-09 15:50:02 +00:00 
			
		
		
		
	libtt: resolve coverity issues related to double close()
This commit is contained in:
		
							parent
							
								
									680f79aac3
								
							
						
					
					
						commit
						91bb9a037a
					
				
					 1 changed files with 22 additions and 7 deletions
				
			
		| 
						 | 
				
			
			@ -75,7 +75,7 @@ isrepair(isfname, verbose)
 | 
			
		|||
{
 | 
			
		||||
  extern      char *rp_readrecord_v(), *rp_readrecord_f();
 | 
			
		||||
  char	      cntlpg[ISCNTLSIZE];
 | 
			
		||||
  int	      datfd, indfd, varfd;
 | 
			
		||||
  int	      datfd = -1, indfd = -1, varfd = -1;
 | 
			
		||||
  int	      minreclen, maxreclen;
 | 
			
		||||
  int	      nrecords_fromcntl;
 | 
			
		||||
  int	      varflag;
 | 
			
		||||
| 
						 | 
				
			
			@ -225,9 +225,18 @@ isrepair(isfname, verbose)
 | 
			
		|||
  /*
 | 
			
		||||
   * Close all file descriptors.
 | 
			
		||||
   */
 | 
			
		||||
  (void)close(datfd);
 | 
			
		||||
  (void)close(indfd);
 | 
			
		||||
  (void)close(varfd);
 | 
			
		||||
  if(datfd != -1) {
 | 
			
		||||
    close(datfd);
 | 
			
		||||
    datfd = -1;
 | 
			
		||||
  }
 | 
			
		||||
  if(indfd != -1) {
 | 
			
		||||
    close(indfd);
 | 
			
		||||
    indfd = -1;
 | 
			
		||||
  }
 | 
			
		||||
  if(varfd != -1) {
 | 
			
		||||
    close(varfd);
 | 
			
		||||
    varfd = -1;
 | 
			
		||||
  }
 | 
			
		||||
  (void)isclose(isfd);
 | 
			
		||||
 | 
			
		||||
  (void) sigfillset(&allsignals);
 | 
			
		||||
| 
						 | 
				
			
			@ -304,9 +313,15 @@ isrepair(isfname, verbose)
 | 
			
		|||
 | 
			
		||||
 ERROR:
 | 
			
		||||
  (void)print("\007Didn't repair ISAM file '%s'\n", isfname);
 | 
			
		||||
  (void)close(datfd);
 | 
			
		||||
  (void)close(indfd);
 | 
			
		||||
  (void)close(varfd);
 | 
			
		||||
  if(datfd != -1) {
 | 
			
		||||
    close(datfd);
 | 
			
		||||
  }
 | 
			
		||||
  if(indfd != -1) {
 | 
			
		||||
    close(indfd);
 | 
			
		||||
  }
 | 
			
		||||
  if(varfd != -1) {
 | 
			
		||||
    close(varfd);
 | 
			
		||||
  }
 | 
			
		||||
  (void)isclose(isfd);
 | 
			
		||||
  if (namebuf != nameBuf) free(namebuf);
 | 
			
		||||
  if (buffer != Buffer) free(buffer);
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue