Message ID | 20220712080133.4176971-2-yangxiaojuan@loongson.cn (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | Fix LoongArch coverity error and cpu name bug | expand |
On 7/12/22 13:31, Xiaojuan Yang wrote: > In loongarch_cpu_class_by_name(char *cpu_model) function, > the argument cpu_model already has the suffix '-loongarch-cpu', > so we should remove the LOONGARCH_CPU_TYPE_NAME(cpu_model) macro. > > Signed-off-by: Xiaojuan Yang <yangxiaojuan@loongson.cn> > --- > target/loongarch/cpu.c | 5 +---- > 1 file changed, 1 insertion(+), 4 deletions(-) > > diff --git a/target/loongarch/cpu.c b/target/loongarch/cpu.c > index e21715592a..8294b05ee8 100644 > --- a/target/loongarch/cpu.c > +++ b/target/loongarch/cpu.c > @@ -571,11 +571,8 @@ static void loongarch_cpu_init(Object *obj) > static ObjectClass *loongarch_cpu_class_by_name(const char *cpu_model) > { > ObjectClass *oc; > - char *typename; > > - typename = g_strdup_printf(LOONGARCH_CPU_TYPE_NAME("%s"), cpu_model); > - oc = object_class_by_name(typename); > - g_free(typename); > + oc = object_class_by_name(cpu_model); > return oc; > } > Looks like we're missing the assertion that 'cpu_model' resolves to a class of the appropriate type. From e.g riscv/cpu.c, if (!oc || !object_class_dynamic_cast(oc, TYPE_RISCV_CPU) || object_class_is_abstract(oc)) { return NULL; } r~
diff --git a/target/loongarch/cpu.c b/target/loongarch/cpu.c index e21715592a..8294b05ee8 100644 --- a/target/loongarch/cpu.c +++ b/target/loongarch/cpu.c @@ -571,11 +571,8 @@ static void loongarch_cpu_init(Object *obj) static ObjectClass *loongarch_cpu_class_by_name(const char *cpu_model) { ObjectClass *oc; - char *typename; - typename = g_strdup_printf(LOONGARCH_CPU_TYPE_NAME("%s"), cpu_model); - oc = object_class_by_name(typename); - g_free(typename); + oc = object_class_by_name(cpu_model); return oc; }
In loongarch_cpu_class_by_name(char *cpu_model) function, the argument cpu_model already has the suffix '-loongarch-cpu', so we should remove the LOONGARCH_CPU_TYPE_NAME(cpu_model) macro. Signed-off-by: Xiaojuan Yang <yangxiaojuan@loongson.cn> --- target/loongarch/cpu.c | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-)