]> git.ipfire.org Git - thirdparty/ipxe.git/commitdiff
[coverity] Override assumptions about wcrtomb() and hmac_init()
authorMichael Brown <mcb30@ipxe.org>
Sat, 17 Aug 2019 16:18:54 +0000 (17:18 +0100)
committerMichael Brown <mcb30@ipxe.org>
Sat, 17 Aug 2019 16:18:54 +0000 (17:18 +0100)
Newer versions of Coverity use built-in models for wcrtomb() and
hmac_init() that are capable of returning errors, and reports defects
due to code failing to check for these errors.  The actual iPXE
implementations are simpler than Coverity's models and can never
return errors, so these defects are false positives.

Fix by overriding Coverity's built-in models for these functions.

Signed-off-by: Michael Brown <mcb30@ipxe.org>
contrib/coverity/model.c

index 15535d421dbbe3f66c727e651329aca11d508ee6..43bac58d8791c50d86263e7d8065fb4c18326bc2 100644 (file)
@@ -7,6 +7,9 @@ typedef long off_t;
 typedef void * userptr_t;
 typedef long long time_t;
 struct tm;
+typedef unsigned short wchar_t;
+typedef void mbstate_t;
+struct digest_algorithm;
 
 /* Inhibit use of built-in models for functions where Coverity's
  * assumptions about the modelled function are incorrect for iPXE.
@@ -19,3 +22,8 @@ time_t mktime ( struct tm *tm ) {
 }
 int getchar ( void ) {
 }
+size_t wcrtomb ( char *buf, wchar_t wc, mbstate_t *ps ) {
+}
+void hmac_init ( struct digest_algorithm *digest, void *digest_ctx,
+                void *key, size_t *key_len ) {
+}