Text  |   XML   |   Visible Warnings:

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

Categories: LANG.MEM.NPD CWE:476
Warning ID: 22083.28920
Procedure: master_config
Trace: view
Modified: Thu Nov 26 11:28:38 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 master_config
 5317 master_config(hn, argc, argv) 
 5318         char *hn;                       /* hostname or null */ 
 5319         int argc;
 5320         char **argv;
 5321 {
 5322         struct hostent *he;
 5323         struct hostd *hp;
 5324         struct hostd *hp2;
 5325         int i;
 5326         char *s;
 5327  
 5328         if (argc > 2) {
 5329                 pvmlogerror("usage: pvmd3 [-ddebugmask] [-nhostname] [hostfile]\n");
 5330                 pvmbailout(0);
 5331         }
 5332         if (argc == 2) {
 5333                 filehosts = readhostfile(argv[1]);
 5334         }
 5335         else if (s = getenv("PVMHOSTFILE")) {
 5336                 filehosts = readhostfile(s);
 5337         }
 5338         if (pvmdebmask & PDMSTARTUP) {
 5339                 if (filehosts) {
 5340                         pvmlogerror("master_config() host file:\n");
 5341                         ht_dump(filehosts);
 5342  
 5343                 } else 
 5344                         pvmlogerror("master_config() null host file\n");
 5345         }
 5346  
 5347         hosts = ht_new(1);
 5348         hosts->ht_serial = 1;
 5349         hosts->ht_master = 1;
 5350         hosts->ht_cons = 1;
 5351         hosts->ht_local = 1;
 5352  
 5353         hp = hd_new(1);
 5354         hp->hd_name = STRALLOC(hn);   /* Null Pointer Dereference (ID: 265.28929) */
 5355         hp->hd_arch = STRALLOC(myarchname);   /* Null Pointer Dereference (ID: 263.28928) */
 5356         hp->hd_mtu = pvmudpmtu;
 5357         hp->hd_dsig = pvmmydsig;
 5358         ht_insert(hosts, hp);
 5359         hd_unref(hp);
 5360  
 5361         hp = hd_new(0);
 5362         hp->hd_name = STRALLOC("pvmd'");   /* Null Pointer Dereference (ID: 264.28927) */
 5363         hp->hd_arch = STRALLOC(myarchname);   /* Null Pointer Dereference (ID: 263.28925) */
 5364         hp->hd_mtu = pvmudpmtu;
 5365         hp->hd_dsig = pvmmydsig;
 5366         ht_insert(hosts, hp);
 5367         hd_unref(hp);
 5368  
 5369         /*
 5370         * get attributes from host file if available 
 5371         */ 
 5372  
 5373         hp = hosts->ht_hosts[1];
 5374         if (filehosts &&
 5375                         ((hp2 = nametohost(filehosts, hp->hd_name)) 
 5376                         || (hp2 = filehosts->ht_hosts[0]))) {
 5377                 applydefaults(hp, hp2);
 5378         }
 5379  
 5380         if (!hp->hd_epath) {
 5381                 if ((s = getenv("PVM_PATH")))
 5382                         hp->hd_epath = STRALLOC(s);   /* Null Pointer Dereference (ID: 22087.28924) */
 5383                 else 
 5384                         hp->hd_epath = STRALLOC(DEFBINDIR);   /* Null Pointer Dereference (ID: 22086.28923) */
 5385         }
 5386         epaths = colonsep(varsub(hp->hd_epath));
 5387         if (!hp->hd_bpath)
true5388                 hp->hd_bpath = STRALLOC(DEFDEBUGGER);     /* Null Pointer Dereference */
Preconditions
argc = 2
((char*)&((char*)((char*)$heap_210840)[28])[4])[28] = 0
$unknown_762573 != 58
((char*)&$heap_210840)[4] <= 1
Postconditions
((char*)&((char*)((char*)$heap_210840)[28])[4])[24]' = &$heap_210855
atnewline' = 1
epaths' = &$heap_210856
errno' != 0
filehosts' = 0
$heap_210840' = 1
bytes_after(&$heap_210840)' = 32
$heap_210840' is allocated by malloc
$heap_210840' is allocated
bytes_before(&$heap_210840)' = 0
((char*)&$heap_210840)[16]' = 1
((char*)&$heap_210840)[20]' = 1
((char*)&$heap_210840)[24]' = 0
((char*)&$heap_210840)[8]' = ((char*)&$heap_210840)[8] + 1
((char*)&$heap_210840)[12]' = 1
bytes_after(&$heap_210841)' = 120
$heap_210841' is allocated by malloc
$heap_210841' is allocated
bytes_before(&$heap_210841)' = 0
((char*)&$heap_210841)[16]' = 0
((char*)&$heap_210841)[20]' = 0
((char*)&$heap_210841)[8]' = 0
((char*)&$heap_210841)[116]' = 0
((char*)&$heap_210841)[12]' = 0
bytes_after(&$heap_210842)' = 120
$heap_210842' is allocated by malloc
$heap_210842' is allocated
bytes_before(&$heap_210842)' = 0
((char*)&$heap_210842)[16]' = 0
((char*)&$heap_210842)[20]' = 0
((char*)&$heap_210842)[8]' = 0
((char*)&$heap_210842)[116]' = 0
((char*)&$heap_210842)[12]' = 0
bytes_after(&$heap_210843)' = 20
$heap_210843' is allocated by malloc
$heap_210843' is allocated
bytes_before(&$heap_210843)' = 0
((char*)&$heap_210843)[16]' = 0
((char*)&$heap_210843)[8]' = 0
((char*)&$heap_210843)[12]' = 0
$heap_210844' = 1
bytes_after(&$heap_210844)' = 124
$heap_210844' is allocated by malloc
bytes_before(&$heap_210844)' = 0
((char*)&$heap_210844)[44]' = pvmmydsig
((char*)&$heap_210844)[52]' = pvmudpmtu
((char*)&$heap_210844)[56]' = 2
((char*)&$heap_210844)[72]' = 1
((char*)&$heap_210844)[76]' = 1
((char*)&$heap_210844)[80]' = &$heap_210845
((char*)&$heap_210844)[8]' = &$heap_210846
((char*)&$heap_210844)[84]' = &$heap_210842
((char*)&$heap_210844)[92]' = &$heap_210841
((char*)&$heap_210844)[100]' = 1
((char*)&$heap_210844)[108]' = 1000
((char*)&$heap_210844)[112]' = &$heap_210843
((char*)&$heap_210844)[12]' = &$heap_210847
$heap_210845' = &$heap_210845
bytes_after(&$heap_210845)' = 120
$heap_210845' is allocated by malloc
$heap_210845' is allocated
bytes_before(&$heap_210845)' = 0
((char*)&$heap_210845)[16]' = 0
((char*)&$heap_210845)[20]' = 0
((char*)&$heap_210845)[4]' = &$heap_210845
((char*)&$heap_210845)[8]' = 0
((char*)&$heap_210845)[116]' = 0
((char*)&$heap_210845)[12]' = 0
$heap_210846' = *hn
bytes_after(&$heap_210846)' = strlen(hn) + 1
$heap_210846' is allocated by malloc
$heap_210846' is allocated
bytes_before(&$heap_210846)' = 0
strlen(&$heap_210846)' = strlen(hn)
tocttou($heap_210846)' = tocttou(*hn)
$heap_210847' = *myarchname
bytes_after(&$heap_210847)' = strlen(myarchname) + 1
$heap_210847' is allocated by malloc
$heap_210847' is allocated
bytes_before(&$heap_210847)' = 0
strlen(&$heap_210847)' = strlen(myarchname)
tocttou($heap_210847)' = tocttou(*myarchname)
bytes_after(&$heap_210848)' = 120
$heap_210848' is allocated by malloc
$heap_210848' is allocated
bytes_before(&$heap_210848)' = 0
((char*)&$heap_210848)[16]' = 0
((char*)&$heap_210848)[20]' = 0
((char*)&$heap_210848)[8]' = 0
((char*)&$heap_210848)[116]' = 0
((char*)&$heap_210848)[12]' = 0
$heap_210849' = &$heap_210849
bytes_after(&$heap_210849)' = 120
$heap_210849' is allocated by malloc
$heap_210849' is allocated
bytes_before(&$heap_210849)' = 0
((char*)&$heap_210849)[16]' = 0
((char*)&$heap_210849)[20]' = 0
((char*)&$heap_210849)[4]' = &$heap_210849
((char*)&$heap_210849)[8]' = 0
((char*)&$heap_210849)[116]' = 0
((char*)&$heap_210849)[12]' = 0
bytes_after(&$heap_210850)' = 20
$heap_210850' is allocated by malloc
$heap_210850' is allocated
bytes_before(&$heap_210850)' = 0
((char*)&$heap_210850)[16]' = 0
((char*)&$heap_210850)[8]' = 0
((char*)&$heap_210850)[12]' = 0
$heap_210851' = 1
bytes_after(&$heap_210851)' = 124
$heap_210851' is allocated by malloc
bytes_before(&$heap_210851)' = 0
((char*)&$heap_210851)[44]' = pvmmydsig
((char*)&$heap_210851)[52]' = pvmudpmtu
((char*)&$heap_210851)[56]' = 2
((char*)&$heap_210851)[72]' = 1
((char*)&$heap_210851)[76]' = 1
((char*)&$heap_210851)[80]' = &$heap_210852
((char*)&$heap_210851)[8]' = &$heap_210853
((char*)&$heap_210851)[84]' = &$heap_210849
((char*)&$heap_210851)[92]' = &$heap_210848
((char*)&$heap_210851)[100]' = 1
((char*)&$heap_210851)[108]' = 1000
((char*)&$heap_210851)[112]' = &$heap_210850
((char*)&$heap_210851)[12]' = &$heap_210854
$heap_210852' = &$heap_210852
bytes_after(&$heap_210852)' = 120
$heap_210852' is allocated by malloc
$heap_210852' is allocated
bytes_before(&$heap_210852)' = 0
((char*)&$heap_210852)[16]' = 0
((char*)&$heap_210852)[20]' = 0
((char*)&$heap_210852)[4]' = &$heap_210852
((char*)&$heap_210852)[8]' = 0
((char*)&$heap_210852)[116]' = 0
((char*)&$heap_210852)[12]' = 0
$heap_210853' = 112
bytes_after(&$heap_210853)' = 6
$heap_210853' is allocated by malloc
$heap_210853' is allocated
bytes_before(&$heap_210853)' = 0
strlen(&$heap_210853)' = 5
tocttou($heap_210853)' = tocttou(#string167)
$heap_210854' = *myarchname
bytes_after(&$heap_210854)' = strlen(myarchname) + 1
$heap_210854' is allocated by malloc
$heap_210854' is allocated
bytes_before(&$heap_210854)' = 0
strlen(&$heap_210854)' = strlen(myarchname)
tocttou($heap_210854)' = tocttou(*myarchname)
$heap_210855' = 36
bytes_after(&$heap_210855)' = 49
$heap_210855' is allocated by malloc
$heap_210855' is allocated
bytes_before(&$heap_210855)' = 0
tocttou($heap_210855)' = tocttou(#string168)
$heap_210856' = &$unknown_762573
bytes_after(&$heap_210856)' = 8
$heap_210856' is allocated by malloc
$heap_210856' is allocated
bytes_before(&$heap_210856)' = 0
((char*)&$heap_210856)[4]' = 0
hosts' = &$heap_210840
hp' = ((char*)&((char*)$heap_210840)[28])[4]
s' = 0




Change Warning 22083.28920 : Null Pointer Dereference

Priority:
State:
Finding:
Owner:
Note: