Make cpu index check more strict
This commit is contained in:
parent
05c4ed4963
commit
04d984d4fc
@ -97,6 +97,11 @@ load_cpus(struct loom *loom, JSON_Object *meta)
|
||||
int index = (int) json_object_get_number(jcpu, "index");
|
||||
int phyid = (int) json_object_get_number(jcpu, "phyid");
|
||||
|
||||
if (index < 0 || index >= (int) ncpus) {
|
||||
err("cpu index %d out of bounds", index);
|
||||
return -1;
|
||||
}
|
||||
|
||||
struct cpu *cpu = loom_find_cpu(loom, phyid);
|
||||
|
||||
if (cpu) {
|
||||
@ -110,6 +115,14 @@ load_cpus(struct loom *loom, JSON_Object *meta)
|
||||
continue;
|
||||
}
|
||||
|
||||
/* If we reach this point, there shouldn't be a CPU with the
|
||||
* same index either, as otherwise the phyid should have matched
|
||||
* before. So it is an error. */
|
||||
if (loom_get_cpu(loom, index) != NULL) {
|
||||
err("cpu index %d redefined with another phyid", index);
|
||||
return -1;
|
||||
}
|
||||
|
||||
cpu = calloc(1, sizeof(struct cpu));
|
||||
if (cpu == NULL) {
|
||||
err("calloc failed:");
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user