Text  |   XML   |   Visible Warnings:

pvm3.4.6 : pvm3.4.6 analysis 2 : Ignored Return Value  at pvmgs_core.c:276

Categories: LANG.FUNCS.IRV CWE:252 CWE:253 POW10:7
Warning ID: 571.29375
Procedure: gs_handle
Trace: view
Modified: Thu Nov 26 11:39:35 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     
LineSource
  /kat0/fletcher/SATE/2010/pvm3/pvmgs/pvmgs_core.c
  Enter gs_handle
245 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)" );     /* Ignored Return Value */  /* Leak (ID: 559.29354) */
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 )  
289                                         pvm_perror( "pvmgs-join" );
290                                 SENDINTRESULT( gid, tid, msgtag, "gs_handle(join)" );
291                                 break;
292  
293                         case (LEAVE):   /* leave a group */ 
294                                 pvm_upkstr( groupname );
295                                 cc = gs_leave( groupname, tid, hash_list, ngroups );
296                                 SENDINTRESULT( cc, tid, msgtag, "gs_handle(leave)" );
297                                 break;
298  
299                         case (DEADTID): /* task in one or more groups has died */ 
300                                 pvm_upkint( &tid, 1, 1 );
301                                 if ( tid < 0 )  
302                                 {
303                                         fprintf( stderr, "pvmgs: weird dead tid x%x %d\n",
304                                                         tid, tid );
305                                         break;
306                                 }
307                                 cc = gs_deadtid( tid, hash_list, ngroups );
308                                 break;
309  
310                         case (BARRIER): /* Handle barrier for a group */ 
311                         case (BARRIERV): 
312                                 pvm_upkstr( groupname );
313                                 pvm_upkint( &cnt, 1, 1 );
314                                 cc = gs_barrier( groupname, msgtag,
315                                                 cnt, tid, hash_list, ngroups );
316                                 /* send back a response only if there is an error */ 
317                                 if ( cc < 0 )  
318                                         SENDINTRESULT( cc, tid, msgtag,
319                                                         "gs_handle(barrier)" );
320                                 break;
321  
322                         case (BCAST):   /* broadcast and tidlists */ 
323                         case (TIDLIST): 
324                                 pvm_upkstr( groupname );
325                                 cc = gs_tidlist( groupname, ((msgtag == BCAST) ? 0 : 1),
326                                                 hash_list, ngroups, &gstate );  
327                                 if ( cc )  /* there was error, send back error code */ 
328                                         SENDINTRESULT( cc, tid, msgtag, "gs_handle(bcast)" ) 
329                                 else  /* send the already-packed tid-list */ 
330                                 {
331                                         PK_STATE( tid, gstate, groupname, hash_list,
332                                                         ngroups, "gs_handle(bcast)" );
333                                         SENDRESULT( tid, msgtag, "gs_handle(bcast)" );
334                                 }
335                                 break;
336  
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) */
355                                 SENDRESULT( tid, msgtag, "gs_handle(getinst)" );   /* Uninitialized Variable (ID: 22191.29360) */
356                                 break;
357  
358                         case (GETTID):  /* return tid from (group,instance) pair */ 
359                                 pvm_upkstr( groupname );
360                                 pvm_upkint( &inst, 1, 1 );
361                                 ftid = gs_gettid( groupname, inst, hash_list, ngroups,
362                                                 &gstate );
363                                 PK_IRESULT( ftid, "gs_handle(gettid)" );
364                                 PK_STATE( tid, gstate, groupname, hash_list, ngroups,
365                                                 "gs_handle(gettid)" );
366                                 SENDRESULT( tid, msgtag, "gs_handle(gettid)" );
367                                 break;
368  
369                         case (STATICGROUP):     /* Form a static group */ 
370                                 pvm_upkstr( groupname );
371                                 pvm_upkint( &size, 1, 1 );
372                                 info = gs_static( groupname, size, tid, hash_list,
373                                                 ngroups );
374                                 if ( info < 0 )
375                                         SENDINTRESULT( info, tid, msgtag,
376                                                         "gs_handle(static)" );
377                                 /* gs_static will mcast list to group when formed */ 
378                                 break;
379  
380                         case DUMP: 
381                                 gs_pstate( "DUMP", hash_list, ngroups );
382                                 break;
383  
384                         case GSLS: 
385                                 gs_ls( hash_list, ngroups );
386                                 pvm_send( tid, msgtag );
387                                 break;
388  
389                         case HOSTCHAR:  /* get host characteristics */ 
390                                 pvm_upkstr( groupname );
391                                 pvm_upkint( &hosttid, 1, 1 );
392                                 gs_host_char( groupname, hash_list, ngroups, hosttid,    /* Uninitialized Variable (ID: 22198.29367) */
393                                                 &pcoord, &nmem_onhost, &nhosts, &gstate );
394                                 PK_IRESULT( nhosts, "gs_handle(hostchar)" );
395                                 pvm_pkint( &nmem_onhost, 1, 1 );
396                                 pvm_pkint( &pcoord, 1, 1 );  
397                                 PK_STATE( tid, gstate, groupname, hash_list, ngroups,
398                                                 "gs_handle(hostchar)" );   /* Uninitialized Variable (ID: 560.29356) */
399                                 SENDRESULT( tid, msgtag, "gs_handle(hostchar)" );   /* Uninitialized Variable (ID: 22188.29357) */
400                                 break;  
401  
402                         case HOSTCHARV: /* get host characteristics */ 
403                                 pvm_upkstr( groupname );
404                                 gs_host_all( groupname, hash_list, ngroups, &pcoordv,  
405                                                 &nmem_onhostv, &nhosts, &gstate );
406                                 PK_IRESULT( nhosts, "gs_handle(hostchar)" );
407                                 pvm_pkint( nmem_onhostv, nhosts, 1 );
408                                 pvm_pkint( pcoordv, nhosts, 1 );  
409                                 PK_STATE( tid, gstate, groupname, hash_list, ngroups,
410                                                 "gs_handle(hostchar)" );
411                                 SENDRESULT( tid, msgtag, "gs_handle(hostchar)" );
412                                 break;
413  
414                         default: 
415                                 break;
416                 }  /* Switch - statement */ 
417         } /* While - statement */ 
418 } 




Change Warning 571.29375 : Ignored Return Value

Priority:
State:
Finding:
Owner:
Note: