Print this page
12724 update smatch to 0.6.1-rc1-il-5

*** 21,30 **** --- 21,31 ---- { struct expression *call; struct symbol *left_type, *right_type; int bytes; sval_t sval; + char *str; if (expr->type != EXPR_ASSIGNMENT) return; right_type = get_pointer_type(expr->right); if (!right_type || type_bits(right_type) != -1)
*** 40,50 **** bytes = type_bytes(left_type); if (bytes <= 0) return; if (sval.uvalue >= bytes) return; ! sm_error("not allocating enough data %d vs %s", bytes, sval_to_str(sval)); } void check_allocating_enough_data(int id) { select_return_states_hook(BUF_SIZE, &db_returns_buf_size); --- 41,54 ---- bytes = type_bytes(left_type); if (bytes <= 0) return; if (sval.uvalue >= bytes) return; ! ! str = expr_to_str(expr->left); ! sm_error("not allocating enough for = '%s' %d vs %s", str, bytes, sval_to_str(sval)); ! free_string(str); } void check_allocating_enough_data(int id) { select_return_states_hook(BUF_SIZE, &db_returns_buf_size);