Text  |   XML   |   Visible Warnings:

Pvm : Pvm analysis 1 : Null Pointer Dereference  at pvmd.c:5507

Categories: LANG.MEM.NPD CWE:476
Warning ID: 2673.2722
Similar Warnings: 2673.2721
Procedure: slave_config
Trace: View
Modified: Wed Sep 2 12:42:54 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     
ProblemLineSource
   /u1/paul/SATE/2010/c/pvm/pvm3/src/pvmd.c
   Enter slave_config
 5449 slave_config(hn, argc, argv) 
 5450         char *hn;
 5451         int argc;
 5452         char **argv;
 5453 {
 5454         int lh;                 /* local host index */ 
 5455         int mh;                 /* master host index */ 
 5456         struct hostd *hp;
 5457         int i, j;
 5458         int ac;
 5459         int ms = 0;             /* manual (humanoid) startup */ 
 5460 #ifndef WIN32 
 5461         int dof = 1;            /* fork, exit parent (default) */ 
 5462 #else 
 5463         int dof = 0; 
 5464 #endif 
 5465         int bad = 0;
 5466         char *p;
 5467         char *s;
 5468  
 5469         for (i = j = ac = 1; i < argc; i++) {
 5470                 if (argv[i][0] == '-') {
 5471                         switch (argv[i][1]) {
 5472  
 5473                         case 'S': 
 5474                                 ms = 1;
 5475                                 break;
 5476  
 5477                         case 'f': 
 5478                                 dof = 0;
 5479                                 break;
 5480  
 5481                         default: 
 5482                                 pvmlogprintf("slave_config() unknown switch: %s\n", argv[i]);
 5483                                 bad++;
 5484                         }
 5485  
 5486                 } else {
 5487                         argv[j++] = argv[i];
 5488                         ac++;
 5489                 }
 5490         }
 5491         argc = ac;
 5492  
 5493         if (bad || argc != 6) {
 5494                 pvmlogerror("slave_config: bad args\n");
 5495                 pvmbailout(0);
 5496         }
 5497  
 5498         mh = atoi(argv[1]);
 5499         lh = atoi(argv[4]);
 5500         hosts = ht_new(1);
 5501         hosts->ht_serial = 1;
 5502         hosts->ht_master = mh;
 5503         hosts->ht_cons = mh;
 5504         hosts->ht_local = lh;
 5505  
 5506         hp = hd_new(mh);
true5507         hp->hd_name = STRALLOC("?");     /* Null Pointer Dereference */
Preconditions
$param_2 >= 3
Postconditions
ac' = 6
argc' = 6
argv' = $param_3
atnewline' = 1
bad' = 0
errno' != 0
$heap_93386' = 0
bytes_after(&$heap_93386)' = 16
$heap_93386' is allocated by malloc
$heap_93386' is allocated
bytes_before(&$heap_93386)' = 0
strlen(&$heap_93386)' = 0
$heap_93387' = 1
bytes_after(&$heap_93387)' = 40
$heap_93387' is allocated by malloc
$heap_93387' is allocated
bytes_before(&$heap_93387)' = 0
strlen(&$heap_93387)' = 0
((char*)&$heap_93387)[16]' = $input_12
((char*)&$heap_93387)[20]' = $input_32828
((char*)&$heap_93387)[32]' = &$heap_93386
((char*)&$heap_93387)[4]' = 1
((char*)&$heap_93387)[12]' = $input_12
$heap_93388' = 1
bytes_after(&$heap_93388)' = 200
$heap_93388' is allocated by malloc
$heap_93388' is allocated
bytes_before(&$heap_93388)' = 0
strlen(&$heap_93388)' = 0
((char*)&$heap_93388)[136]' = &$heap_93392
((char*)&$heap_93388)[152]' = 1
((char*)&$heap_93388)[168]' = 1000
((char*)&$heap_93388)[176]' = &$heap_93389
((char*)&$heap_93388)[88]' = 2
((char*)&$heap_93388)[104]' = 1
((char*)&$heap_93388)[108]' = 1
((char*)&$heap_93388)[112]' = &$heap_93390
((char*)&$heap_93388)[120]' = &$heap_93391
$heap_93389' = &$heap_93389
bytes_after(&$heap_93389)' = 32
$heap_93389' is allocated by malloc
$heap_93389' is allocated
bytes_before(&$heap_93389)' = 0
((char*)&$heap_93389)[16]' = 0
((char*)&$heap_93389)[20]' = 0
((char*)&$heap_93389)[24]' = 0
((char*)&$heap_93389)[8]' = &$heap_93389
bytes_after(&$heap_93390)' = 184
$heap_93390' is allocated by malloc
$heap_93390' is allocated
bytes_before(&$heap_93390)' = 0
((char*)&$heap_93390)[16]' = 0
((char*)&$heap_93390)[176]' = 0
((char*)&$heap_93390)[24]' = 0
((char*)&$heap_93390)[32]' = 0
((char*)&$heap_93390)[40]' = 0
bytes_after(&$heap_93391)' = 184
$heap_93391' is allocated by malloc
$heap_93391' is allocated
bytes_before(&$heap_93391)' = 0
((char*)&$heap_93391)[16]' = 0
((char*)&$heap_93391)[176]' = 0
((char*)&$heap_93391)[24]' = 0
((char*)&$heap_93391)[32]' = 0
((char*)&$heap_93391)[40]' = 0
$heap_93392' = &$heap_93392
bytes_after(&$heap_93392)' = 184
$heap_93392' is allocated by malloc
$heap_93392' is allocated
bytes_before(&$heap_93392)' = 0
((char*)&$heap_93392)[16]' = 0
((char*)&$heap_93392)[176]' = 0
((char*)&$heap_93392)[24]' = 0
((char*)&$heap_93392)[32]' = 0
((char*)&$heap_93392)[40]' = 0
((char*)&$heap_93392)[8]' = &$heap_93392
hn' = $param_1
hosts' = &$heap_93387
hp' = &$heap_93388
i' = $param_2
lh' = $input_32828
mh' = $input_12
tmbuf.tm_sec' = &$unknown_813644




Change Warning 2673.2722 : Null Pointer Dereference

Because they are very similar, this warning shares annotations with warning 2673.2721.
CodeSonar has selected warning 2673.2721 to represent this group of similar warnings. In order to edit this group, you must edit warning 2673.2721.