Text  |   XML   |   Visible Warnings:

pvm3.4.6 : pvm3.4.6 analysis 2 : Null Pointer Dereference  at pvmd.c:5524

Categories: LANG.MEM.NPD CWE:476
Warning ID: 260.28908
Similar Warnings: 260.28911
Procedure: slave_config
Trace: view
Modified: Thu Nov 26 11:28:30 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
   /kat0/fletcher/SATE/2010/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);
 5507         hp->hd_name = STRALLOC("?");   /* Null Pointer Dereference (ID: 262.28915) */
 5508         hex_inadport(argv[2], &hp->hd_sad);
 5509         hp->hd_mtu = atoi(argv[3]);
 5510         ht_insert(hosts, hp);
 5511         hd_unref(hp);
 5512  
 5513         hp = hd_new(0);
 5514         hp->hd_name = STRALLOC("pvmd'");   /* Null Pointer Dereference (ID: 261.28913) */
 5515         hp->hd_arch = STRALLOC(myarchname);   /* Null Pointer Dereference (ID: 260.28911) */
 5516         hp->hd_mtu = pvmudpmtu;
 5517         hp->hd_dsig = pvmmydsig;
 5518         hex_inadport(argv[5], &hp->hd_sad);
 5519         ht_insert(hosts, hp);
 5520         hd_unref(hp);
 5521  
 5522         hp = hd_new(lh);
 5523         hp->hd_name = STRALLOC(hn);   /* Null Pointer Dereference (ID: 259.28909) */
true5524         hp->hd_arch = STRALLOC(myarchname);     /* Null Pointer Dereference */
Preconditions
argc >= 3
*argv[5] != 58
*argv[2] != 58
((char*)&$heap_162065)[96] >= 0
((char*)&$heap_162065)[12] >= 0
Postconditions
ac' = 6
argc' = 6
atnewline' = 0
bad' = 0
errno' != 0
$heap_162061' = 1
bytes_after(&$heap_162061)' = 32
$heap_162061' is allocated by malloc
$heap_162061' is allocated
bytes_before(&$heap_162061)' = 0
((char*)&$heap_162061)[16]' = $input_12
((char*)&$heap_162061)[20]' = $input_97500
((char*)&$heap_162061)[24]' >= 0
((char*)&$heap_162061)[24]' <= 1
((char*)&$heap_162061)[8]' = ((char*)&$heap_162061)[8] + 1
((char*)&$heap_162061)[12]' = $input_12
bytes_after(&$heap_162062)' = 120
$heap_162062' is allocated by malloc
bytes_before(&$heap_162062)' = 0
((char*)&$heap_162062)[16]' = 0
((char*)&$heap_162062)[20]' = 0
((char*)&$heap_162062)[116]' = 0
bytes_after(&$heap_162063)' = 120
$heap_162063' is allocated by malloc
bytes_before(&$heap_162063)' = 0
((char*)&$heap_162063)[16]' = 0
bytes_after(&$heap_162064)' = 120
$heap_162064' is allocated by malloc
bytes_before(&$heap_162064)' = 0
((char*)&$heap_162064)[8]' = 0
((char*)&$heap_162064)[116]' = 0
$heap_162065' = 0
bytes_after(&$heap_162065)' = 124
$heap_162065' is allocated by malloc
$heap_162065' is freed
bytes_before(&$heap_162065)' = 0
((char*)&$heap_162065)[52]' = $input_97508
((char*)&$heap_162065)[56]' = 2
((char*)&$heap_162065)[72]' = 1
((char*)&$heap_162065)[76]' = 1
((char*)&$heap_162065)[80]' = &$heap_162064
((char*)&$heap_162065)[8]' = &$heap_162067
((char*)&$heap_162065)[84]' = &$heap_162063
((char*)&$heap_162065)[92]' = &$heap_162062
((char*)&$heap_162065)[100]' = 1
((char*)&$heap_162065)[108]' = 1000
((char*)&$heap_162065)[112]' = &$heap_162066
bytes_after(&$heap_162066)' = 20
$heap_162066' is allocated by malloc
bytes_before(&$heap_162066)' = 0
((char*)&$heap_162066)[16]' = 0
((char*)&$heap_162066)[8]' = 0
((char*)&$heap_162066)[12]' = 0
$heap_162067' = 63
bytes_after(&$heap_162067)' = 2
$heap_162067' is allocated by malloc
bytes_before(&$heap_162067)' = 0
strlen(&$heap_162067)' = 1
tocttou($heap_162067)' = tocttou(#string176)
$heap_162068' = &$heap_162068
bytes_after(&$heap_162068)' = 120
$heap_162068' is allocated by malloc
$heap_162068' is allocated
bytes_before(&$heap_162068)' = 0
((char*)&$heap_162068)[16]' = 0
((char*)&$heap_162068)[20]' = 0
((char*)&$heap_162068)[4]' = &$heap_162068
((char*)&$heap_162068)[8]' = 0
((char*)&$heap_162068)[116]' = 0
((char*)&$heap_162068)[12]' = 0
$heap_162069' = 1
bytes_after(&$heap_162069)' = 124
$heap_162069' is allocated by malloc
bytes_before(&$heap_162069)' = 0
((char*)&$heap_162069)[44]' = pvmmydsig
((char*)&$heap_162069)[52]' = pvmudpmtu
((char*)&$heap_162069)[56]' = 2
((char*)&$heap_162069)[72]' = 1
((char*)&$heap_162069)[76]' = 1
((char*)&$heap_162069)[80]' = &$heap_162068
((char*)&$heap_162069)[8]' = &$heap_162072
((char*)&$heap_162069)[84]' = &$heap_162071
((char*)&$heap_162069)[92]' = &$heap_162070
((char*)&$heap_162069)[100]' = 1
((char*)&$heap_162069)[108]' = 1000
((char*)&$heap_162069)[112]' = 0
((char*)&$heap_162069)[12]' = &$heap_162073
bytes_after(&$heap_162070)' = 120
$heap_162070' is allocated by malloc
$heap_162070' is allocated
bytes_before(&$heap_162070)' = 0
((char*)&$heap_162070)[16]' = 0
((char*)&$heap_162070)[20]' = 0
((char*)&$heap_162070)[8]' = 0
((char*)&$heap_162070)[116]' = 0
((char*)&$heap_162070)[12]' = 0
$heap_162071' = &$heap_162071
bytes_after(&$heap_162071)' = 120
$heap_162071' is allocated by malloc
$heap_162071' is allocated
bytes_before(&$heap_162071)' = 0
((char*)&$heap_162071)[16]' = 0
((char*)&$heap_162071)[20]' = 0
((char*)&$heap_162071)[4]' = &$heap_162071
((char*)&$heap_162071)[8]' = 0
((char*)&$heap_162071)[116]' = 0
((char*)&$heap_162071)[12]' = 0
$heap_162072' = 112
bytes_after(&$heap_162072)' = 6
$heap_162072' is allocated by malloc
$heap_162072' is allocated
bytes_before(&$heap_162072)' = 0
strlen(&$heap_162072)' = 5
tocttou($heap_162072)' = tocttou(#string167)
$heap_162073' = *myarchname
bytes_after(&$heap_162073)' = strlen(myarchname) + 1
$heap_162073' is allocated by malloc
$heap_162073' is allocated
bytes_before(&$heap_162073)' = 0
strlen(&$heap_162073)' = strlen(myarchname)
tocttou($heap_162073)' = tocttou(*myarchname)
bytes_after(&$heap_162074)' = 120
$heap_162074' is allocated by malloc
$heap_162074' is allocated
bytes_before(&$heap_162074)' = 0
((char*)&$heap_162074)[16]' = 0
((char*)&$heap_162074)[20]' = 0
((char*)&$heap_162074)[8]' = 0
((char*)&$heap_162074)[116]' = 0
((char*)&$heap_162074)[12]' = 0
bytes_after(&$heap_162075)' = 120
$heap_162075' is allocated by malloc
$heap_162075' is allocated
bytes_before(&$heap_162075)' = 0
((char*)&$heap_162075)[16]' = 0
((char*)&$heap_162075)[20]' = 0
((char*)&$heap_162075)[8]' = 0
((char*)&$heap_162075)[116]' = 0
((char*)&$heap_162075)[12]' = 0
bytes_after(&$heap_162076)' = 120
$heap_162076' is allocated by malloc
$heap_162076' is allocated
bytes_before(&$heap_162076)' = 0
((char*)&$heap_162076)[16]' = 0
((char*)&$heap_162076)[20]' = 0
((char*)&$heap_162076)[8]' = 0
((char*)&$heap_162076)[116]' = 0
((char*)&$heap_162076)[12]' = 0
$heap_162077' = 1
bytes_after(&$heap_162077)' = 124
$heap_162077' is allocated by malloc
$heap_162077' is allocated
bytes_before(&$heap_162077)' = 0
((char*)&$heap_162077)[56]' = 2
((char*)&$heap_162077)[72]' = 1
((char*)&$heap_162077)[76]' = 1
((char*)&$heap_162077)[80]' = &$heap_162074
((char*)&$heap_162077)[8]' = &$heap_162078
((char*)&$heap_162077)[84]' = &$heap_162076
((char*)&$heap_162077)[92]' = &$heap_162075
((char*)&$heap_162077)[100]' = 1
((char*)&$heap_162077)[108]' = 1000
((char*)&$heap_162077)[112]' = 0
$heap_162078' = *hn
bytes_after(&$heap_162078)' = strlen(hn) + 1
$heap_162078' is allocated by malloc
$heap_162078' is allocated
bytes_before(&$heap_162078)' = 0
strlen(&$heap_162078)' = strlen(hn)
tocttou($heap_162078)' = tocttou(*hn)
hosts' = &$heap_162061
hp' = &$heap_162077
i' = argc
lh' = $input_97500
mh' = $input_12
tmbuf.tm_sec' = &$unknown_732425




Change Warning 260.28908 : Null Pointer Dereference

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

Priority:
State:
Finding:
Owner:
Note: