summaryrefslogtreecommitdiff
path: root/model.c
diff options
context:
space:
mode:
authorPeter Jones <pjones@redhat.com>2022-11-15 16:23:10 -0500
committerPeter Jones <pjones@redhat.com>2022-11-16 16:35:47 -0500
commit616c566b3a47762c6cea71eb26db083e3eb66624 (patch)
tree7e370e0147c64a7bdcb1173c78e65756a0ab74d7 /model.c
parent53509eaf2253e23bfb552e9386fd0877abe592b4 (diff)
downloadefi-boot-shim-616c566b3a47762c6cea71eb26db083e3eb66624.tar.gz
efi-boot-shim-616c566b3a47762c6cea71eb26db083e3eb66624.zip
More coverity modeling
This adds a few more UEFI functions to our coverity model, so we see a few less false positives during scanning. It also fixes an error in our model for OpenSSL's OBJ_dup(). Signed-off-by: Peter Jones <pjones@redhat.com>
Diffstat (limited to 'model.c')
-rw-r--r--model.c23
1 files changed, 21 insertions, 2 deletions
diff --git a/model.c b/model.c
index 50e3f0da..e122ba9c 100644
--- a/model.c
+++ b/model.c
@@ -8,16 +8,18 @@
/* This is so vim's Syntastic checker won't yell about all these. */
extern void __coverity_string_size_sanitize__(int);
extern void __coverity_negative_sink__(int);
-extern void __coverity_alloc_nosize__(void);
+extern void *__coverity_alloc_nosize__(void);
+extern void __coverity_writeall0__(void *);
extern void *__coverity_alloc__(int);
extern void __coverity_sleep__();
extern void __coverity_tainted_data_sanitize__(void *);
+extern void __coverity_free__(void *);
#endif
void *
OBJ_dup(void *o)
{
- __coverity_alloc_nosize__();
+ return __coverity_alloc_nosize__();
}
int
@@ -133,4 +135,21 @@ AllocatePages(EFI_ALLOCATE_TYPE Type,
return EFI_OUT_OF_RESOURCES;
}
+void *
+AllocateZeroPool(int sz)
+{
+ void *ptr;
+
+ __coverity_negative_sink__(sz);
+ ptr = __coverity_alloc__(sz);
+ __coverity_writeall0__(ptr);
+ return ptr;
+}
+
+void
+FreePool(void *ptr)
+{
+ __coverity_free__(ptr);
+}
+
// vim:fenc=utf-8:tw=75