#136: failed to boot under KVM\QEMU

> -------------------------------------+--------------------------------------
>   Reporter:  silicium@…             |          Owner:  somebody
>       Type:  defect                 |         Status:  new
>   Priority:  major                  |      Milestone:
>  Component:  coreboot               |        Version:  v2
>   Keywords:                         |   Dependencies:
> Patchstatus:  patch needs review     |
> -------------------------------------+--------------------------------------

Fix use of uninitialized pointers. To help in future, move 
the declaration to the same scope as the use. 

Signed-off-by: Ronald G. Minnich <rminnich@gmail.com>
Acked-by: Myles Watson <mylesgw@gmail.com>


git-svn-id: svn://svn.coreboot.org/coreboot/trunk@4285 2b7e53f0-3cfb-0310-b3e9-8179ed1497e1
This commit is contained in:
Ronald G. Minnich 2009-05-14 21:26:28 +00:00
parent 67befdc22b
commit 671cedc92f
1 changed files with 10 additions and 8 deletions

View File

@ -411,7 +411,7 @@ static int load_self_segments(
return 0;
}
for(ptr = head->next; ptr != head; ptr = ptr->next) {
unsigned char *dest, *middle, *end, *src;
unsigned char *dest,*src;
printk_debug("Loading Segment: addr: 0x%016lx memsz: 0x%016lx filesz: 0x%016lx\n",
ptr->s_dstaddr, ptr->s_memsz, ptr->s_filesz);
@ -428,6 +428,7 @@ static int load_self_segments(
/* Copy data from the initial buffer */
if (ptr->s_filesz) {
unsigned char *middle, *end;
size_t len;
len = ptr->s_filesz;
switch(ptr->compression) {
@ -464,14 +465,15 @@ static int load_self_segments(
(unsigned long)middle,
(unsigned long)end,
(unsigned long)src);
}
/* Zero the extra bytes between middle & end */
if (middle < end) {
printk_debug("Clearing Segment: addr: 0x%016lx memsz: 0x%016lx\n",
(unsigned long)middle, (unsigned long)(end - middle));
/* Zero the extra bytes between middle & end */
if (middle < end) {
printk_debug("Clearing Segment: addr: 0x%016lx memsz: 0x%016lx\n",
(unsigned long)middle, (unsigned long)(end - middle));
/* Zero the extra bytes */
memset(middle, 0, end - middle);
/* Zero the extra bytes */
memset(middle, 0, end - middle);
}
}
}
return 1;