diff options
author | Jan Hubicka <hubicka@ucw.cz> | 2015-02-05 19:39:24 +0100 |
---|---|---|
committer | Jan Hubicka <hubicka@gcc.gnu.org> | 2015-02-05 18:39:24 +0000 |
commit | 370a7814fcfa84017eb844b99607517855a9d280 (patch) | |
tree | 33f5eb631da9afa03768f7dd123e6e8f5dd4aeba | |
parent | b291a2021d9d8ccce1d50771cac9672c58ead0f6 (diff) | |
download | gcc-370a7814fcfa84017eb844b99607517855a9d280.zip gcc-370a7814fcfa84017eb844b99607517855a9d280.tar.gz gcc-370a7814fcfa84017eb844b99607517855a9d280.tar.bz2 |
ipa-cp.c (ipa_value_from_jfunc, [...]): Add bounds check.
* ipa-cp.c (ipa_value_from_jfunc, ipa_context_from_jfunc): Add bounds
check.
From-SVN: r220458
-rw-r--r-- | gcc/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/ipa-cp.c | 6 |
2 files changed, 9 insertions, 2 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index f0a330a..b4c14d1 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +2015-02-05 Jan Hubicka <hubicka@ucw.cz> + + * ipa-cp.c (ipa_value_from_jfunc, ipa_context_from_jfunc): Add bounds + check. + 2015-02-05 Joern Rennecke <joern.rennecke@embecosm.com> * config/h8300/constraints.md ("U" constraint): Use strict diff --git a/gcc/ipa-cp.c b/gcc/ipa-cp.c index 90fd3c2..0c540eb 100644 --- a/gcc/ipa-cp.c +++ b/gcc/ipa-cp.c @@ -942,7 +942,8 @@ ipa_value_from_jfunc (struct ipa_node_params *info, struct ipa_jump_func *jfunc) { ipcp_lattice<tree> *lat; - if (!info->lattices) + if (!info->lattices + || idx >= ipa_get_param_count (info)) return NULL_TREE; lat = ipa_get_scalar_lat (info, idx); if (!lat->is_single_const ()) @@ -1004,7 +1005,8 @@ ipa_context_from_jfunc (ipa_node_params *info, cgraph_edge *cs, int csidx, } else { - if (!info->lattices) + if (!info->lattices + || srcidx >= ipa_get_param_count (info)) return ctx; ipcp_lattice<ipa_polymorphic_call_context> *lat; lat = ipa_get_poly_ctx_lat (info, srcidx); |