rem: tmp_cell = p_cell; p_cell = p_cell->next_cell;   unref_cell( tmp_cell ); } } } }
add: unref_cell( tmp_cell ); }
context: int t_reply_matching( struct s_table *hash_table , struct sip_msg *p_msg , struct cell **p_Trans , unsigned int *p_branch ){   struct cell*  p_cell;   struct cell* tmp_cell;   unsigned int hash_index = 0;   unsigned int entry_label  = 0;   unsigned int branch_id    = 0;   char  *begin, *end;   /* getting the hash_index from the brach param , via header*/   begin = p_msg->via1->branch->value.s;   for(  ; *begin!='.' ; begin++ );   hash_index = strtol( ++begin , &end , 10 );   /*if the hash index is corect */   if  ( *end=='.' && hash_index>=0 && hash_index<TABLE_ENTRIES-1 )   {      /* getting the entry label value */      begin=end++ ;      entry_label = strtol( ++begin , &end , 10 );      /* if the entry label also is corect */      if  ( *end=='.' && entry_label>=0 )      {         /* getting the branch_id value */         begin=end++ ;         branch_id = strtol( ++begin , &end , 10 );         /* if the entry label also is corect */          if  ( branch_id>=0 )          {             /*all the cells from the entry are scan to detect an entry_label matching */             p_cell     = hash_table->entrys[hash_index].first_cell;             tmp_cell = 0;            while( p_cell )             {                /* the transaction is referenceted for reading */                ref_cell( p_cell );                /* is it the cell with the wanted entry_label? */                if ( p_cell->label = entry_label )                   /* has the transaction the wanted branch? */                   if ( p_cell->nr_of_outgoings>branch_id && p_cell->outbound_request[branch_id] )                    {/* WE FOUND THE GOLDEN EGG !!!! */                       p_Trans = &p_cell;                       *p_branch = branch_id;                       unref_cell( p_cell );                       return 1;                    }               /* next cell */               tmp_cell = p_cell;               p_cell = p_cell->next_cell;               /* the transaction is dereferenceted */               unref_cell( tmp_cell );             }          }      }   }   /* nothing found */   *p_branch = -1;   return 0;}