Base CPU: Initialize profileEvent to NULL
The profileEvent pointer is tested against NULL in various places, but it is not initialized unless running in full-system mode. In SE mode, this can result in segmentation faults when profileEvent default intializes to something other than NULL.
This commit is contained in:
@@ -118,7 +118,7 @@ BaseCPU::BaseCPU(Params *p, bool is_checker)
|
||||
: MemObject(p), instCnt(0), _cpuId(p->cpu_id),
|
||||
_instMasterId(p->system->getMasterId(name() + ".inst")),
|
||||
_dataMasterId(p->system->getMasterId(name() + ".data")),
|
||||
interrupts(p->interrupts),
|
||||
interrupts(p->interrupts), profileEvent(NULL),
|
||||
numThreads(p->numThreads), system(p->system)
|
||||
{
|
||||
// if Python did not provide a valid ID, do it here
|
||||
@@ -225,7 +225,6 @@ BaseCPU::BaseCPU(Params *p, bool is_checker)
|
||||
}
|
||||
|
||||
if (FullSystem) {
|
||||
profileEvent = NULL;
|
||||
if (params()->profile)
|
||||
profileEvent = new ProfileEvent(this, params()->profile);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user