printstr: check for potential integer overflow

* util.c (printstr): Check for potential integer overflow during outstr
buffer size calculation.
This commit is contained in:
Дмитрий Левин 2012-03-25 22:56:53 +00:00
parent ccee169ab6
commit 378f9c5ad0

6
util.c
View File

@ -564,10 +564,14 @@ printstr(struct tcb *tcp, long addr, int len)
}
/* Allocate static buffers if they are not allocated yet. */
if (!str) {
unsigned int outstr_size = 4 * max_strlen + /*for quotes and NUL:*/ 3;
if (outstr_size / 4 != max_strlen)
die_out_of_memory();
str = malloc(max_strlen + 1);
if (!str)
die_out_of_memory();
outstr = malloc(4 * max_strlen + /*for quotes and NUL:*/ 3);
outstr = malloc(outstr_size);
if (!outstr)
die_out_of_memory();
}