diff options
author | avg <avg@FreeBSD.org> | 2015-09-29 11:58:21 +0000 |
---|---|---|
committer | avg <avg@FreeBSD.org> | 2015-09-29 11:58:21 +0000 |
commit | 8594b69e8188a592941ef441e945bfd15d534bb9 (patch) | |
tree | bfaf61316592e159b0abcff4962ec86d21096319 /sys/cddl/dev | |
parent | 4acd1d874000fa7e52fdf724ccc785dc16c61095 (diff) | |
download | FreeBSD-src-8594b69e8188a592941ef441e945bfd15d534bb9.zip FreeBSD-src-8594b69e8188a592941ef441e945bfd15d534bb9.tar.gz |
sdt: start checking version field when parsing probe definitions
This is an extra safety measure.
MFC after: 21 days
Diffstat (limited to 'sys/cddl/dev')
-rw-r--r-- | sys/cddl/dev/sdt/sdt.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/sys/cddl/dev/sdt/sdt.c b/sys/cddl/dev/sdt/sdt.c index a321317..a11febe 100644 --- a/sys/cddl/dev/sdt/sdt.c +++ b/sys/cddl/dev/sdt/sdt.c @@ -141,6 +141,12 @@ sdt_create_probe(struct sdt_probe *probe) char *to; size_t len; + if (probe->version != (int)sizeof(*probe)) { + printf("ignoring probe %p, version %u expected %u\n", + probe, probe->version, (int)sizeof(*probe)); + return; + } + TAILQ_FOREACH(prov, &sdt_prov_list, prov_entry) if (strcmp(prov->name, probe->prov->name) == 0) break; |