kernel: umem: fix frees in segments_fill
CID 155453 (#1 of 1): Free of address-of expression (BAD_FREE) address_free: free frees address of (segments + 0).pages.
This commit is contained in:
parent
20f15cbe5a
commit
6daa49324a
|
@ -193,7 +193,7 @@ segments_fill(ElfSegment* segments, Ldseg *infos)
|
||||||
if(segments[0].npages > (SEGMAPSIZE*PTEPERTAB))
|
if(segments[0].npages > (SEGMAPSIZE*PTEPERTAB))
|
||||||
return 0;
|
return 0;
|
||||||
if(segments[0].pages != nil)
|
if(segments[0].pages != nil)
|
||||||
free(&segments[0].pages);
|
free(segments[0].pages);
|
||||||
segments[0].pages = mallocz(sizeof(PagePointer)*segments[0].npages, 1);
|
segments[0].pages = mallocz(sizeof(PagePointer)*segments[0].npages, 1);
|
||||||
if(segments[0].pages == nil)
|
if(segments[0].pages == nil)
|
||||||
return 0;
|
return 0;
|
||||||
|
@ -206,7 +206,7 @@ segments_fill(ElfSegment* segments, Ldseg *infos)
|
||||||
if(segments[1].npages > (SEGMAPSIZE*PTEPERTAB))
|
if(segments[1].npages > (SEGMAPSIZE*PTEPERTAB))
|
||||||
return 0;
|
return 0;
|
||||||
if(segments[1].pages != nil)
|
if(segments[1].pages != nil)
|
||||||
free(&segments[1].pages);
|
free(segments[1].pages);
|
||||||
segments[1].pages = mallocz(sizeof(PagePointer)*segments[1].npages, 1);
|
segments[1].pages = mallocz(sizeof(PagePointer)*segments[1].npages, 1);
|
||||||
if(segments[1].pages == nil){
|
if(segments[1].pages == nil){
|
||||||
free(segments[0].pages);
|
free(segments[0].pages);
|
||||||
|
|
Loading…
Reference in New Issue