(/home/sate/Testcases/c/cve/wireshark-1.2.0/epan/dfilter/gencode.c) |
| |
| 172 | | | dfw_append_function(dfwork_t *dfw, stnode_t *node, dfvm_value_t **p_jmp) |
| 173 | | | { |
| 174 | | | GSList *params; |
| 175 | | | int i, num_params, reg; |
| 176 | | | dfvm_value_t **jmps; |
| 177 | | | dfvm_insn_t *insn; |
| 178 | | | dfvm_value_t *val1, *val2, *val; |
| 179 | | | |
| 180 | | | params = sttype_function_params(node); |
| 181 | | | num_params = g_slist_length(params); |
| 182 | | | |
| 183 | | | |
| 184 | | | |
| 185 | | | jmps = g_malloc(num_params * sizeof(dfvm_value_t*)); |
| 186 | | | |
| 187 | | | |
| 188 | | | insn = dfvm_insn_new(CALL_FUNCTION); |
| 189 | | | |
| 190 | | | val1 = dfvm_value_new(FUNCTION_DEF); |
| 191 | | | val1->value.funcdef = sttype_function_funcdef(node); |
| 192 | | | insn->arg1 = val1; |
| 193 | | | val2 = dfvm_value_new(REGISTER); |
| 194 | | | val2->value.numeric = dfw->next_register++; |
| 195 | | | insn->arg2 = val2; |
| 196 | | | insn->arg3 = NULL; |
| 197 | | | insn->arg4 = NULL; |
Useless Assignment
This code assigns the variable the same value it already had. |
|
| 198 | | | |
| 199 | | | i = 0; |
| 200 | | | while (params) { |
| 201 | | | jmps[i] = NULL; |
| 202 | | | reg = gen_entity(dfw, params->data, &jmps[i]); |
| 203 | | | |
| 204 | | | val = dfvm_value_new(REGISTER); |
| 205 | | | val->value.numeric = reg; |
| 206 | | | |
| 207 | | | switch(i) { |
| 208 | | | case 0: |
| 209 | | | insn->arg3 = val; |
| 210 | | | break; |
| 211 | | | case 1: |
| 212 | | | insn->arg4 = val; |
| 213 | | | break; |
| 214 | | | default: |
| 215 | | | g_assert_not_reached();
x /usr/include/glib-2.0/glib/gtestutils.h |
| |
73 | #define g_assert_not_reached() do { g_assertion_message (G_LOG_DOMAIN, __FILE__, __LINE__, G_STRFUNC, NULL); } while (0) |
| |
x /usr/include/glib-2.0/glib/gmacros.h |
| |
160 | # define G_STRFUNC ((const char*) (__PRETTY_FUNCTION__)) |
| |
|
| 216 | | | } |
| 217 | | | |
| 218 | | | params = params->next; |
| 219 | | | i++; |
| 220 | | | } |
| 221 | | | |
| 222 | | | dfw_append_insn(dfw, insn); |
| 223 | | | |
| 224 | | | |
| 225 | | | |
| 226 | | | |
| 227 | | | |
| 228 | | | |
| 229 | | | for (i = 0; i < num_params; i++) { |
| 230 | | | if (jmps[i]) { |
| 231 | | | jmps[i]->value.numeric = dfw->next_insn_id; |
| 232 | | | } |
| 233 | | | } |
| 234 | | | |
| 235 | | | |
| 236 | | | |
| 237 | | | insn = dfvm_insn_new(IF_FALSE_GOTO); |
| 238 | | | g_assert(p_jmp);
x /usr/include/glib-2.0/glib/gtestutils.h |
| |
74 | #define g_assert(expr) do { if G_LIKELY (expr) ; else \ |
75 | g_assertion_message_expr (G_LOG_DOMAIN, __FILE__, __LINE__, G_STRFUNC, \ |
76 | #expr); } while (0) |
| |
x /usr/include/glib-2.0/glib/gmacros.h |
| |
277 | #define G_LIKELY(expr) (__builtin_expect (_G_BOOLEAN_EXPR(expr), 1)) |
| |
x /usr/include/glib-2.0/glib/gmacros.h |
| |
268 | #define _G_BOOLEAN_EXPR(expr) \ |
269 | __extension__ ({ \ |
270 | int _g_boolean_var_; \ |
271 | if (expr) \ |
272 | _g_boolean_var_ = 1; \ |
273 | else \ |
274 | _g_boolean_var_ = 0; \ |
275 | _g_boolean_var_; \ |
276 | }) |
| |
x /usr/include/glib-2.0/glib/gmacros.h |
| |
160 | # define G_STRFUNC ((const char*) (__PRETTY_FUNCTION__)) |
| |
|
| 239 | | | *p_jmp = dfvm_value_new(INSN_NUMBER); |
| 240 | | | insn->arg1 = *p_jmp; |
| 241 | | | dfw_append_insn(dfw, insn); |
| 242 | | | |
| 243 | | | g_free(jmps); |
| 244 | | | |
| 245 | | | return val2->value.numeric; |
| 246 | | | } |
| |