Text  |   XML   |   Visible Warnings:

pvm3.4.6 : pvm3.4.6 analysis 2 : Null Pointer Dereference  at tdpro.c:2569

Categories: LANG.MEM.NPD CWE:476
Warning ID: 317.28994
Procedure: tm_hostsync
Trace: view
Modified: Thu Nov 26 11:29:25 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/tdpro.c
   Enter tm_hostsync
 2541 tm_hostsync(tp, mp) 
 2542         struct task *tp;
 2543         struct pmsg *mp;
 2544 {
 2545         int where;
 2546         struct hostd *hp;
 2547         struct pmsg *mp2;
 2548         struct waitc *wp;
 2549  
 2550         if (upkuint(mp, &where)) {
 2551                 pvmlogerror("tm_hostsync() bad msg format\n");
 2552                 return 0;
 2553         }
 2554  
 2555         mp2 = replymessage(mp);
 2556  
 2557         if (!(hp = tidtohost(hosts, where))) {
 2558                 pkint(mp2, PvmNoHost);
 2559                 sendmessage(mp2);
 2560                 return 0;
 2561         }
 2562  
 2563         wp = wait_new(WT_HOSTSYNC);
 2564         wp->wa_tid = mp->m_src;
 2565         wp->wa_on = hp->hd_hostpart;
 2566         wp->wa_mesg = mp2;
 2567  
true2568         mp2 = mesg_new(0);
mp2 <= 40952569         mp2->m_dst = where | TIDPVMD;     /* Null Pointer Dereference */
Preconditions
hosts->ht_last >= 1
waitlist->wa_wid <= widbase
waitlist->wa_link != waitlist
numfrags = 0
numpmsgs = 1
widrange <= lastwid
Postconditions
freepmsgs.m_link->m_link->m_rlink' = freepmsgs.m_link->m_rlink
((char*)**$unknown_1092560)[4]' = &$heap_334901
freepmsgs.m_link->m_rlink->m_link' = freepmsgs.m_link->m_link
((char*)$unknown_1092558)[4]' = &$unknown_1092557
$unknown_1092557' = &freefrags.fr_link
((char*)&$unknown_1092557)[4]' = ((char*)&$unknown_1092558)[4]
errno' != 0
freefrags.fr_link' = &$unknown_1092557 - 48
freefrags.fr_rlink' = &$unknown_1092557
freepmsgs.m_link' = &freepmsgs.m_link
freepmsgs.m_rlink' = &freepmsgs.m_link
bytes_after(&$heap_334901)' = 48
$heap_334901' is allocated by malloc
$heap_334901' is allocated
bytes_before(&$heap_334901)' = 0
((char*)&$heap_334901)[20]' = freepmsgs.m_link->m_dst'
((char*)&$heap_334901)[24]' = 0
((char*)&$heap_334901)[28]' = &$heap_334901
((char*)&$heap_334901)[32]' = &$heap_334901
((char*)&$heap_334901)[36]' = freepmsgs.m_link
((char*)&$heap_334901)[40]' = 0
((char*)&$heap_334901)[4]' = ((char*)*$unknown_1092560)[4]
((char*)&$heap_334901)[44]' = 0
((char*)&$heap_334901)[8]' = widbase + 1
((char*)&$heap_334901)[12]' = 13
hp' = &$unknown_1092559
lastwid' = 1
mp2' = 0
numfrags' = 499
numpmsgs' = numpmsgs - 1
wp' = &$heap_334901




Change Warning 317.28994 : Null Pointer Dereference

Priority:
State:
Finding:
Owner:
Note: