Text   |  XML   |  ReML   |   Visible Warnings:

Redundant Condition  at emem.c:1322

No properties have been set. | edit properties
Jump to warning location ↓ warning details...
Show Events | Options

lookup_or_insert32

(/home/sate/Testcases/c/cve/wireshark-1.2.0/epan/emem.c)expand/collapse
Show more  
 1273  static void* lookup_or_insert32(emem_tree_t *se_tree, guint32 key, void*(*func)(void*),void* ud, int is_subtree) {
 1274          emem_tree_node_t *node;
 1275   
 1276          node=se_tree->tree;
 1277   
 1278          /* is this the first node ?*/
 1279          if(!node){
 1280                  node=se_tree->malloc(sizeof(emem_tree_node_t));
 1281                  switch(se_tree->type){
 1282                          case EMEM_TREE_TYPE_RED_BLACK:
 1283                                  node->u.rb_color=EMEM_TREE_RB_COLOR_BLACK;
 1284                                  break;
 1285                  }
 1286                  node->parent=NULL;
 1287                  node->left=NULL;
 1288                  node->right=NULL;
 1289                  node->key32=key;
 1290                  node->data= func(ud);
 1291                  node->u.is_subtree = is_subtree;
 1292                  se_tree->tree=node;
 1293                  return node->data;
 1294          }
 1295   
 1296          /* it was not the new root so walk the tree until we find where to 
 1297                  * insert this new leaf.
 1298                  */
 1299          while(1){
 1300                  /* this node already exists, so just return the data pointer*/
 1301                  if(key==node->key32){
 1302                          return node->data;
 1303                  }
 1304                  if(key<node->key32) {
 1305                          if(!node->left){
 1306                                  /* new node to the left */
 1307                                  emem_tree_node_t *new_node;
 1308                                  new_node=se_tree->malloc(sizeof(emem_tree_node_t));
 1309                                  node->left=new_node;
 1310                                  new_node->parent=node;
 1311                                  new_node->left=NULL;
 1312                                  new_node->right=NULL;
 1313                                  new_node->key32=key;
 1314                                  new_node->data= func(ud);
 1315                                  new_node->u.is_subtree = is_subtree;
 1316                                  node=new_node;
 1317                                  break;
 1318                          }
 1319                          node=node->left;
 1320                          continue;
 1321                  }
 1322                  if(key>node->key32) {
 1323                          if(!node->right){
 1324                                  /* new node to the right */
 1325                                  emem_tree_node_t *new_node;
 1326                                  new_node=se_tree->malloc(sizeof(emem_tree_node_t));
 1327                                  node->right=new_node;
 1328                                  new_node->parent=node;
 1329                                  new_node->left=NULL;
 1330                                  new_node->right=NULL;
 1331                                  new_node->key32=key;
 1332                                  new_node->data= func(ud);
 1333                                  new_node->u.is_subtree = is_subtree;
 1334                                  node=new_node;
 1335                                  break;
 1336                          }
 1337                          node=node->right;
 1338                          continue;
 1339                  }
 1340          }
 1341   
 1342          /* node will now point to the newly created node */
 1343          switch(se_tree->type){
 1344                  case EMEM_TREE_TYPE_RED_BLACK:
 1345                          node->u.rb_color=EMEM_TREE_RB_COLOR_RED;
 1346                          rb_insert_case1(se_tree, node);
 1347                          break;
 1348          }
 1349   
 1350          return node->data;
 1351  }
Show more  




Change Warning 1186.30219 : Redundant Condition

Priority:
State:
Finding:
Owner:
Note: