mirror of
https://github.com/acidanthera/audk.git
synced 2025-09-25 10:47:47 +02:00
ImageTool: Use realloc() for IR segment enlarging
This commit is contained in:
parent
2f91fddf99
commit
0bfa467344
@ -243,7 +243,6 @@ ImageConvertToXip (
|
|||||||
uint64_t Index;
|
uint64_t Index;
|
||||||
image_tool_segment_t *Segment;
|
image_tool_segment_t *Segment;
|
||||||
void *Data;
|
void *Data;
|
||||||
void *Memory;
|
|
||||||
|
|
||||||
assert (Image != NULL);
|
assert (Image != NULL);
|
||||||
|
|
||||||
@ -254,19 +253,19 @@ ImageConvertToXip (
|
|||||||
|
|
||||||
assert (Segment->DataSize <= Segment->ImageSize);
|
assert (Segment->DataSize <= Segment->ImageSize);
|
||||||
|
|
||||||
Data = calloc (Segment->ImageSize, 1);
|
Data = realloc (Segment->Data, Segment->ImageSize);
|
||||||
if (Data == NULL) {
|
if (Data == NULL) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
memmove (Data, Segment->Data, Segment->DataSize);
|
memset (
|
||||||
|
(char *)Data + Segment->DataSize,
|
||||||
Memory = Segment->Data;
|
0,
|
||||||
|
Segment->ImageSize - Segment->DataSize
|
||||||
|
);
|
||||||
|
|
||||||
Segment->Data = Data;
|
Segment->Data = Data;
|
||||||
Segment->DataSize = Segment->ImageSize;
|
Segment->DataSize = Segment->ImageSize;
|
||||||
|
|
||||||
free (Memory);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
Image->HeaderInfo.IsXip = true;
|
Image->HeaderInfo.IsXip = true;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user