(/home/sate/Testcases/c/cve/wireshark-1.2.0/epan/emem.c) |
| |
| 936 | | | void * |
| 937 | | | emem_tree_lookup32_le(emem_tree_t *se_tree, guint32 key) |
| 938 | | | { |
| 939 | | | emem_tree_node_t *node; |
| 940 | | | |
| 941 | | | node=se_tree->tree; |
| 942 | | | |
| 943 | | | if(!node){ |
| 944 | | | return NULL; |
| 945 | | | } |
| 946 | | | |
| 947 | | | |
| 948 | | | while(node){ |
| 949 | | | if(key==node->key32){ |
| 950 | | | return node->data; |
| 951 | | | } |
| 952 | | | if(key<node->key32){ |
| 953 | | | if(node->left){ |
| 954 | | | node=node->left; |
| 955 | | | continue; |
| 956 | | | } else { |
| 957 | | | break; |
| 958 | | | } |
| 959 | | | } |
| 960 | | | if(key>node->key32){ |
Redundant Condition
key > node->key32 always evaluates to true. This may be because: - There is a constant assignment to one or more of the variables involved.
- An earlier conditional statement has already ensured that key > node->key32 cannot be false.
- A crashing bug occurs on every path where key > node->key32 could have evaluated to false. Look for a preceding Null Pointer Dereference or Division By Zero warning.
|
|
| 961 | | | if(node->right){ |
| 962 | | | node=node->right; |
| 963 | | | continue; |
| 964 | | | } else { |
| 965 | | | break; |
| 966 | | | } |
| 967 | | | } |
| 968 | | | } |
| 969 | | | |
| 970 | | | |
| 971 | | | |
| 972 | | | |
| 973 | | | |
| 974 | | | |
| 975 | | | |
| 976 | | | if(!node->parent){ |
| 977 | | | if(key>node->key32){ |
| 978 | | | return node->data; |
| 979 | | | } else { |
| 980 | | | return NULL; |
| 981 | | | } |
| 982 | | | } |
| 983 | | | |
| 984 | | | if(node->parent->left==node){ |
| 985 | | | |
| 986 | | | |
| 987 | | | if(key>node->key32){ |
| 988 | | | |
| 989 | | | |
| 990 | | | |
| 991 | | | return node->data; |
| 992 | | | } else { |
| 993 | | | |
| 994 | | | |
| 995 | | | |
| 996 | | | |
| 997 | | | while(node){ |
| 998 | | | if(key>node->key32){ |
| 999 | | | return node->data; |
| 1000 | | | } |
| 1001 | | | node=node->parent; |
| 1002 | | | } |
| 1003 | | | return NULL; |
| 1004 | | | } |
| 1005 | | | } else { |
| 1006 | | | |
| 1007 | | | |
| 1008 | | | if(node->key32<key){ |
| 1009 | | | |
| 1010 | | | |
| 1011 | | | |
| 1012 | | | return node->data; |
| 1013 | | | } else { |
| 1014 | | | |
| 1015 | | | |
| 1016 | | | |
| 1017 | | | |
| 1018 | | | return node->parent->data; |
| 1019 | | | } |
| 1020 | | | } |
| 1021 | | | |
| 1022 | | | } |
| |