projects
/
babeltrace.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Fix: validate return value of bt_ctf_field_get_type_id
[babeltrace.git]
/
formats
/
ctf
/
ir
/
fields.c
diff --git
a/formats/ctf/ir/fields.c
b/formats/ctf/ir/fields.c
index 123c3153a60cef91e8b716ba5813b0669b4f06bc..105dd7a1dbe737317a3114c08a9f617710c55c8a 100644
(file)
--- a/
formats/ctf/ir/fields.c
+++ b/
formats/ctf/ir/fields.c
@@
-2339,12
+2339,19
@@
void bt_ctf_field_sequence_freeze(struct bt_ctf_field *field)
BT_HIDDEN
void bt_ctf_field_freeze(struct bt_ctf_field *field)
{
BT_HIDDEN
void bt_ctf_field_freeze(struct bt_ctf_field *field)
{
+ enum bt_ctf_type_id type_id;
+
if (!field) {
goto end;
}
if (!field) {
goto end;
}
- field_freeze_funcs[bt_ctf_field_get_type_id(field)](field);
+ type_id = bt_ctf_field_get_type_id(field);
+ if (type_id <= BT_CTF_TYPE_ID_UNKNOWN ||
+ type_id >= BT_CTF_NR_TYPE_IDS) {
+ goto end;
+ }
+ field_freeze_funcs[type_id](field);
end:
return;
}
end:
return;
}
This page took
0.034471 seconds
and
4
git commands to generate.