[binutils-gdb] Usage of unitialized heap in tic4x_print_cond

Alan Modra amodra@sourceware.org
Sun Dec 29 11:44:00 GMT 2019


https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=8c5e259235a4e4546910245b170de1e29a711034

commit 8c5e259235a4e4546910245b170de1e29a711034
Author: Alan Modra <amodra@gmail.com>
Date:   Sun Dec 29 12:56:29 2019 +1030

    Usage of unitialized heap in tic4x_print_cond
    
    	PR 25319
    	* tic4x-dis.c (tic4x_print_cond): Init all of condtable.

Diff:
---
 opcodes/ChangeLog   | 5 +++++
 opcodes/tic4x-dis.c | 2 +-
 2 files changed, 6 insertions(+), 1 deletion(-)

diff --git a/opcodes/ChangeLog b/opcodes/ChangeLog
index 9a15123..5187fb2 100644
--- a/opcodes/ChangeLog
+++ b/opcodes/ChangeLog
@@ -1,3 +1,8 @@
+2019-12-29  Alan Modra  <amodra@gmail.com>
+
+	PR 25319
+	* tic4x-dis.c (tic4x_print_cond): Init all of condtable.
+
 2019-12-27  Jan Beulich  <jbeulich@suse.com>
 
 	* i386-dis.c (Jdqw): Define.
diff --git a/opcodes/tic4x-dis.c b/opcodes/tic4x-dis.c
index d9f95c9..01cfa1e 100644
--- a/opcodes/tic4x-dis.c
+++ b/opcodes/tic4x-dis.c
@@ -277,7 +277,7 @@ tic4x_print_cond (struct disassemble_info *info, unsigned int cond)
 
   if (condtable == NULL)
     {
-      condtable = xmalloc (sizeof (tic4x_cond_t *) * 32);
+      condtable = xcalloc (sizeof (tic4x_cond_t *), 32);
       for (i = 0; i < tic4x_num_conds; i++)
 	condtable[tic4x_conds[i].cond] = (tic4x_cond_t *)(tic4x_conds + i);
     }



More information about the Binutils-cvs mailing list