Text  |   XML   |   Visible Warnings:

pvm3.4.6 : pvm3.4.6 analysis 2 : Uninitialized Variable  at pvmgs_core.c:355

Categories: LANG.MEM.UVAR CWE:457
Warning ID: 22191.29360
Procedure: gs_handle
Trace: view
Modified: Thu Nov 26 11:39:17 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/pvmgs/pvmgs_core.c
   Enter gs_handle
true245 gs_handle( hash_list, ngroups, gstid ) 
 246 GROUP_LIST_PTR hash_list;
 247 int *ngroups, *gstid;
 248 {
 249         int len, msgtag, tid, gid, cc, ftid, inst, i, size, ntids, listsize;
 250         int cnt, hosttid, nhosts, nmem_onhost, pcoord;
 251         int *nmem_onhostv = (int *) NULL, *pcoordv = (int *) NULL;  
 252         int mxupklen = 0;
 253         GROUP_STRUCT_PTR group;
 254         char *groupname = (char *) NULL;
 255         int *tidlist = (int *) NULL;
 256         int maxntids = 0, info;
 257         int gstate;
 258  
 259         while ( 1 )  
 260         {
 261                 if ( (cc = pvm_recv( -1, -1 )) < 0 )  /* receive a request */ 
 262                 {
 263                         pvm_perror( "gs_handle(recv)" );
 264                         return( cc );
 265                 }
 266                 /* get: length of message, message tag, and sending tid */ 
 267                 if ( (cc = pvm_bufinfo( pvm_getrbuf(), &len, &msgtag, &tid )) 
 268                                 < 0 )  
 269                 {
 270                         pvm_perror("gs_handle(bufinfo)");
 271                         return( cc );
 272                 }
 273  
 274                 /* Most group functions require unpacking a group name, so */ 
 275                 /* Make sure variable groupname is always long enough */ 
 276                 REALLOCSTRING( len, mxupklen , groupname, "gs_handle(entry)" );   /* Leak (ID: 559.29354) */  /* Ignored Return Value (ID: 571.29375) */
 277  
 278                 switch( msgtag ) 
 279                 {
 280                         case (DIE):             /* leave a suicide note */ 
 281                                 gs_pstate( "pvmgs", hash_list, ngroups );
 282                                 return( PvmOk );
 283  
 284                         case (JOIN):    /* join a group with the lowest avail gid */ 
 285                                 pvm_upkstr( groupname );
 286                                 gid = gs_join( groupname, tid, hash_list, ngroups );
 287                                 /* tell me if the tid dies */ 
 288                                 if ( pvm_notify( PvmTaskExit, DEADTID, 1, &tid ) < 0 )  
   ...
 337                         case (GSIZE):   /* return the current group size */ 
 338                                 pvm_upkstr( groupname );
 339                                 size = gs_gsize( groupname, hash_list, ngroups,
 340                                                 &gstate );
 341                                 PK_IRESULT( size, "gs_handle(gsize)" );
 342                                 PK_STATE( tid, gstate, groupname, hash_list, ngroups,
 343                                                 "gs_handle(gsize)" );   /* Uninitialized Variable (ID: 22193.29362) */
 344                                 SENDRESULT( tid, msgtag, "gs_handle(gsize)" );   /* Uninitialized Variable (ID: 22194.29363) */
 345                                 break;
 346  
 347                         case (GETINST): /* return inst of tid in group groupname */ 
 348                                 pvm_upkstr( groupname );
 349                                 pvm_upkint( &ftid, 1, 1 );
 350                                 inst = gs_getinst( groupname, ftid, hash_list, ngroups,   /* Uninitialized Variable (ID: 22199.29368) */
 351                                                 &gstate );
 352                                 PK_IRESULT( inst, "gs_handle(getinst)" );
 353                                 PK_STATE( tid, gstate, groupname, hash_list, ngroups,
 354                                                 "gs_handle(getinst)" );   /* Uninitialized Variable (ID: 22192.29361) */
tid is uninitialized355                                 SENDRESULT( tid, msgtag, "gs_handle(getinst)" );     /* Uninitialized Variable */
Preconditions
$heap_465707 != 0
strlen(&$heap_465707) != 0
len >= 1
msgtag = 5
pvmautoerr != 0
pvmautoerr != 2
pvmautoerr != 3
pvmtoplvl != 0
pvmtrc.trcopt != 1
pvmtrc.trcopt != 2
pvmtrc.trcopt != 3
Postconditions
*stderr' is allocated by fopen
bytes_before(stderr)' = 0
cc' = 0
groupname' = &$heap_465707
gstate' = 2
bytes_after(&$heap_465707)' = len + 1
$heap_465707' is allocated by malloc
$heap_465707' is allocated
bytes_before(&$heap_465707)' = 0
inst' = -20
maxntids' = 0
mxupklen' = len
nmem_onhostv' = 0
pcoordv' = 0
pvm_errno' = -2
pvmmytid' != -1
pvmtrc.trctid' <= 0
pvmtrccodef' = &pvmtrccodef_nop.enc_byte
tidlist' = 0




Change Warning 22191.29360 : Uninitialized Variable

Priority:
State:
Finding:
Owner:
Note: