Text  |   XML   |   Visible Warnings:

Pvm : Pvm analysis 1 : Unreachable Control Flow  at tracer.c:352

Categories: LANG.STRUCT.UC CWE:561
Warning ID: 2876.2942
Similar Warnings: 2876.3051
Procedure: read_args
Trace: View
Modified: Wed Sep 2 12:55:14 2009   show details
 
Priority: None
State: None
Finding: None
Owner: None
  edit properties

Legend [ X ]
Warning Location
Contributes
Parse Error
Other Warning
Two or More Loop Iterations
On Execution Path
Comment
Macro
Preprocessor
Include
Keyword
Preprocessed Away

Source  |  Language: C Hide Legend     
LineSource
  /u1/paul/SATE/2010/c/pvm/pvm3/tracer/tracer.c
  Enter read_args
316 read_args( argc, argv ) 
317 int argc;
318 char **argv;
319 {
320         char tmp[1024];
321  
322         int i, j, k;
323         int do_usage;
324         int len;
325  
326         OUTPUT_FILE = (char *) NULL;
327  
328         TRACE_FILE = (char *) NULL;
329  
330         TRACE_BUF = 0;
331  
332         TRACE_OPT = PvmTraceFull;
333  
334         vflag = 0;
335  
336         do_usage = 0;
337  
338         for ( i=1 ; i < argc ; i++ )
339         {
340                 if ( argv[i][0] == '-' )
341                 {
342                         k = i + 1;
343  
344                         len = strlenargv[i] );
345  
346                         for ( j=0 ; j < len ; j++ )
347                         {
348                                 switch ( argv[i][j] ) 
349                                 {
350                                         case 'H': 
351                                         case 'h': 
352                                                 usage(); break;     /* Unreachable Control Flow */
353  
354                                         case 'T': 
355                                         {
356                                                 if ( TRACE_FILE != NULL )
357                                                         freeTRACE_FILE );
358  
359                                                 TRACE_FILE = trc_copy_str( argv[k++] );
360  
361                                                 break;
362                                         }
363  
364                                         case 'O': 
365                                         {
366                                                 if ( OUTPUT_FILE != NULL )
367                                                         freeOUTPUT_FILE );
368  
369                                                 OUTPUT_FILE = trc_copy_str( argv[k++] );
370  
371                                                 break;
372                                         }
373  
374                                         case 'B': 
375                                         {
376                                                 TRACE_BUF = atoiargv[k++] );
377  
378                                                 break;
379                                         }
380  
381                                         case 'v': vflag++; break;
382  
383                                         case '-': break;
384  
385                                         default
386                                         {
387                                                 printf( "Unknown Option -%c\n", argv[i][j] );
388  
389                                                 do_usage++;
390  
391                                                 break;
392                                         }
393                                 }
394                         }
395  
396                         i = k - 1;
397                 }
398  
399                 else 
400                 {
401                         if ( !strcmpargv[i], "full" ) )
402                                 TRACE_OPT = PvmTraceFull;
403  
404                         else if ( !strcmpargv[i], "time" ) )
405                                 TRACE_OPT = PvmTraceTime;
406  
407                         else if ( !strcmpargv[i], "count" ) )
408                                 TRACE_OPT = PvmTraceCount;
409  
410                         else 
411                         {
412                                 printf( "Unknown Option %s\n", argv[i] );
413  
414                                 do_usage++;
415                         }
416                 }
417         }
418  
419         if ( do_usage )
420                 usage();
421 




Change Warning 2876.2942 : Unreachable Control Flow

Because they are very similar, this warning shares annotations with warning 2876.3051.

Priority:
State:
Finding:
Owner:
Note: