Hi

There are two Coverity Issues with untar.c but this one seems
especially odd to me.

My reading of the following code is that if the creat() of the
filename in the tar image fails, then the code reads the contents
of the tar image and throws it away to skip it.

What would be wrong with replacing the throw away read loop
with "lseek(fd, SEEK_CUR, 512 * nblocks)"?

339         /******************************************************************
340          * Read out the data.  There are nblocks of data where nblocks
341          * is the size rounded to the nearest 512-byte boundary.
342          *****************************************************************/
343         nblocks = (((size) + 511) & ~511) / 512;
344
   
CID 26151: Use of untrusted string value (TAINTED_STRING) [select issue
<https://scan5.coverity.com:8443/defectInstanceId=19808182&fileInstanceId=64729753&mergedDefectId=26151>]
345         if ((out_fd = creat(fname, 0644)) == -1)
346         {
347            for (i=0; i<nblocks; i++)
348            {
   
CID 1255358 (#1 of 1): Unused value (UNUSED_VALUE)returned_value: Value
from read(fd, bufr, 512U) is assigned to n here, but that stored value
is not used before it is overwritten.
349               n = read(fd, bufr, 512);
350            }
351         }
352         else
353         {
354            for (i=0; i<nblocks; i++)
355            {
   
value_overwrite: Value from read(fd, bufr, 512U) is overwritten with
value from read(fd, bufr, 512U).


-- 
Joel Sherrill, Ph.D.             Director of Research & Development
joel.sherr...@oarcorp.com        On-Line Applications Research
Ask me about RTEMS: a free RTOS  Huntsville AL 35805
Support Available                (256) 722-9985

_______________________________________________
devel mailing list
devel@rtems.org
http://lists.rtems.org/mailman/listinfo/devel

Reply via email to