fix some oss-fuzz (#1206)

* fix oss-fuzz 18138.

* fix oss-fuzz 20079.

* fix oss-fuzz 20209.

* fix oss-fuzz 20210.

* fix oss-fuzz 20262.

* rollback.

* rollback.

* fix oss-fuzz 20079.

* fix oss-fuzz 20179.

* fix oss-fuzz 20195.

* fix oss-fuzz 20206.

* fix oss-fuzz 20207.

* fix oss-fuzz 20265.
This commit is contained in:
Chen Huitao
2020-02-25 11:36:06 +08:00
committed by GitHub
parent 393a5641fd
commit c520307959
11 changed files with 41 additions and 19 deletions

View File

@ -571,6 +571,9 @@ static TCGArg *tcg_constant_folding(TCGContext *s, uint16_t *tcg_opc_ptr,
/* Do copy propagation */
for (i = nb_oargs; i < nb_oargs + nb_iargs; i++) {
if (args[i] >= TCG_MAX_TEMPS) {
return NULL;
}
if (temps[args[i]].state == TCG_TEMP_COPY) {
args[i] = find_better_copy(s, args[i]);
}

View File

@ -2546,6 +2546,10 @@ static inline int tcg_gen_code_common(TCGContext *s,
#ifdef USE_TCG_OPTIMIZATIONS
s->gen_opparam_ptr =
tcg_optimize(s, s->gen_opc_ptr, s->gen_opparam_buf, s->tcg_op_defs);
if (s->gen_opparam_ptr == NULL) {
tcg_out_tb_finalize(s);
return -2;
}
#endif
#ifdef CONFIG_PROFILER
@ -2654,6 +2658,7 @@ static inline int tcg_gen_code_common(TCGContext *s,
int tcg_gen_code(TCGContext *s, tcg_insn_unit *gen_code_buf) // qq
{
int ret;
#ifdef CONFIG_PROFILER
{
int n;
@ -2670,7 +2675,10 @@ int tcg_gen_code(TCGContext *s, tcg_insn_unit *gen_code_buf) // qq
//printf("====== before gen code\n");
//tcg_dump_ops(s);
tcg_gen_code_common(s, gen_code_buf, -1); // qq
ret = tcg_gen_code_common(s, gen_code_buf, -1); // qq
if (ret == -2) {
return -1;
}
//printf("====== after gen code\n");
//tcg_dump_ops(s);