thunk: assert nb_fields is valid

thunk.c:91:32: warning: Call to 'malloc' has an allocation size of 0 bytes
        se->field_offsets[i] = malloc(nb_fields * sizeof(int));
                               ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Reported-by: Clang Static Analyzer
Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Signed-off-by: Michael Tokarev <mjt@tls.msk.ru>
This commit is contained in:
Philippe Mathieu-Daudé 2017-07-26 23:42:20 -03:00 committed by Michael Tokarev
parent b929f7e56f
commit a44af723b3
1 changed files with 2 additions and 1 deletions

View File

@ -67,7 +67,6 @@ void thunk_register_struct(int id, const char *name, const argtype *types)
int nb_fields, offset, max_align, align, size, i, j; int nb_fields, offset, max_align, align, size, i, j;
assert(id < max_struct_entries); assert(id < max_struct_entries);
se = struct_entries + id;
/* first we count the number of fields */ /* first we count the number of fields */
type_ptr = types; type_ptr = types;
@ -76,6 +75,8 @@ void thunk_register_struct(int id, const char *name, const argtype *types)
type_ptr = thunk_type_next(type_ptr); type_ptr = thunk_type_next(type_ptr);
nb_fields++; nb_fields++;
} }
assert(nb_fields > 0);
se = struct_entries + id;
se->field_types = types; se->field_types = types;
se->nb_fields = nb_fields; se->nb_fields = nb_fields;
se->name = name; se->name = name;