Text  |   XML   |   Visible Warnings:

pvm3.4.6 : pvm3.4.6 analysis 2 : Null Pointer Dereference  at ddpro.c:589

Categories: LANG.MEM.NPD CWE:476
Warning ID: 40.28625
Procedure: hostfailentry
Trace: view
Modified: Thu Nov 26 11:27:07 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/ddpro.c
   Enter hostfailentry
 546 hostfailentry(hp) 
 547         struct hostd *hp;
 548 {
 549         int hpart = hp->hd_hostpart;
 550         struct waitc *wp, *wp2;
 551         struct pmsg *mp;
 552         struct pvmmentry *ep;
 553  
 554         if (pvmdebmask & PDMHOST) {
 555                 pvmlogprintf("hostfailentry() host %s\n", hp->hd_name);
 556                 hd_dump(hp);
 557         }
 558  
 559         if (hp == hosts->ht_hosts[hosts->ht_master]) {
 560                 pvmlogerror("hostfailentry() lost master host, we're screwwwed\n");
 561                 pvmbailout(0);
 562         }
 563  
 564         /*
 565         * if we're master pvmd, send HT_DEL message to all others 
 566         */ 
 567  
 568         if (hp->hd_hostpart && hosts->ht_master == hosts->ht_local) {
 569                 struct hostd *hp2;
 570                 int hh;
 571  
 572                 mp = mesg_new(0);
 573                 mp->m_tag = DM_HTDEL;   /* Null Pointer Dereference (ID: 41.28626) */
 574                 pkint(mp, hosts->ht_serial);
 575                 pkint(mp, hp->hd_hostpart);
 576                 for (hh = hosts->ht_last; hh > 0; hh--)
 577                         if (hh != hosts->ht_local 
 578                         && (hp2 = hosts->ht_hosts[hh]) && hp2 != hp) {
 579                                 mp->m_ref++;
 580                                 mp->m_dst = hp2->hd_hostpart | TIDPVMD;
 581                                 sendmessage(mp);
 582                         }
 583                 pmsg_unref(mp);
 584  
 585                 /* inform the scheduler too */ 
 586  
 587                 if (pvmschedtid) {
true588                         mp = mesg_new(0);
mp <= 4095589                         mp->m_tag = SM_HOSTX;     /* Null Pointer Dereference */
Preconditions
hp->hd_login = 0
hp->hd_dpath = 0
hp->hd_epath = 0
hp->hd_bpath = 0
hp->hd_sopts = 0
hp->hd_hostpart != 0
hp->hd_txq = 0
hosts->ht_hosts[1] != hp
hosts->ht_local != 1
hosts->ht_last >= 2
hosts->ht_master = hosts->ht_local
numfrags != 0
numpmsgs != 0
pvmschedtid != 0
Postconditions
freefrags.fr_link->fr_link->fr_rlink' = freefrags.fr_link->fr_rlink
freepmsgs.m_link->m_link->m_rlink' = freepmsgs.m_link->m_rlink
freepmsgs.m_link->m_frag' = &$unknown_58270
freefrags.fr_link->fr_rlink->fr_link' = freefrags.fr_link->fr_link
freepmsgs.m_link->m_rlink->m_link' = freepmsgs.m_link->m_link
freepmsgs.m_link->m_link' = &freepmsgs.m_link
((char*)&$unknown_58270)[24]' = ((char*)&$unknown_58270)[24] - 1
strlen(&buf[0])' = 59
buf[59]' = 0
errno' != 0
freepmsgs.m_link' = &freepmsgs.m_link
freepmsgs.m_rlink' = &freepmsgs.m_link
hh' = 0
hp2' = hosts->ht_hosts[1]
hpart' = hp->hd_hostpart
mp' = 0
numpmsgs' = 0




Change Warning 40.28625 : Null Pointer Dereference

Priority:
State:
Finding:
Owner:
Note: