21 lines
765 B
Diff
21 lines
765 B
Diff
diff -Nru xen-3.1.0-src.orig/tools/libxc/xc_core.c xen-3.1.0-src/tools/libxc/xc_core.c
|
|
--- xen-3.1.0-src.orig/tools/libxc/xc_core.c 2007-05-18 16:45:21.000000000 +0200
|
|
+++ xen-3.1.0-src/tools/libxc/xc_core.c 2007-06-22 18:47:13.000000000 +0200
|
|
@@ -192,12 +192,14 @@
|
|
if ( sheaders->num == sheaders->num_max )
|
|
{
|
|
Elf64_Shdr *shdrs;
|
|
- if ( sheaders->num_max + SHDR_INC < sheaders->num_max )
|
|
+
|
|
+ sheaders->num_max += SHDR_INC;
|
|
+ if ( sheaders->num_max < SHDR_INC )
|
|
{
|
|
errno = E2BIG;
|
|
return NULL;
|
|
}
|
|
- sheaders->num_max += SHDR_INC;
|
|
+
|
|
shdrs = realloc(sheaders->shdrs,
|
|
sizeof(sheaders->shdrs[0]) * sheaders->num_max);
|
|
if ( shdrs == NULL )
|