>Number:         147303
>Category:       bin
>Synopsis:       restore(8) uses uninitialized variables: tape.c dirs.c
>Confidential:   no
>Severity:       serious
>Priority:       medium
>Responsible:    freebsd-bugs
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          sw-bug
>Submitter-Id:   current-users
>Arrival-Date:   Wed Jun 02 01:20:03 UTC 2010
>Closed-Date:
>Last-Modified:
>Originator:     FreeBSD 8 /sbin/restore
>Release:        FreeBSD {2,3,4,5,6,7,8}R
>Organization:
>Environment:
>Description:
in /sbin/restore(8)<tape.c>getvol():
if goto "gethdr" (line 336), variable "newvol" (line 421) is uninitialized.
others are some exist (dirs.c, ...).
"-Wall".

http://www.freebsd.org/cgi/cvsweb.cgi/src/sbin/restore/tape.c?rev=1.56
Revision 1.56
Sat Feb 13 10:22:07 2010 UTC (3 months, 2 weeks ago) by jh
Branches: MAIN
CVS tags: HEAD
   312  void
   313  getvol(long nextvol)
   314  {
   315          int64_t prevtapea;
   316          long i, newvol, savecnt;
   317          union u_spcl tmpspcl;
   318  #       define tmpbuf tmpspcl.s_spcl
   319          char buf[TP_BSIZE];
   320  
   321          if (nextvol == 1) {
   322                  tapesread = 0;
   323                  gettingfile = 0;
   324          }
   325          prevtapea = tapeaddr;
   325          savecnt = blksread;
   327          if (pipein) {
   328                  if (nextvol != 1) {
   329                          panic("Changing volumes on pipe input?\n");
   330                          /* Avoid looping if we couldn't ask the user. */
   331                          if (yflag || ferror(terminal) || feof(terminal))
   332                                  done(1);
   333                  }
   334                  if (volno == 1)
   335                          return;
   336                  goto gethdr;
   337          }
   338  again:
 :
   415          if (mt == -1) {
   416                  fprintf(stderr, "Cannot open %s\n", magtape);
   417                  volno = -1;
   418                  goto again;
   419          }
   420  gethdr:
   421          volno = newvol;
>How-To-Repeat:
gcc -Wall
>Fix:


>Release-Note:
>Audit-Trail:
>Unformatted:
_______________________________________________
freebsd-bugs@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-bugs
To unsubscribe, send any mail to "freebsd-bugs-unsubscr...@freebsd.org"

Reply via email to