summaryrefslogtreecommitdiffstats
path: root/keymaster
diff options
context:
space:
mode:
authorYi Kong <yikong@google.com>2018-12-21 14:52:47 -0800
committerYi Kong <yikong@google.com>2018-12-21 14:52:47 -0800
commit45cb85f8c06351157db0f71b9fa67c412513811c (patch)
tree39529b5b204cc313fcfeba8a13f5462ffc70471f /keymaster
parentb31202ca170ab03083a7dfeb936f33a101d6dd74 (diff)
downloadandroid_hardware_interfaces-45cb85f8c06351157db0f71b9fa67c412513811c.tar.gz
android_hardware_interfaces-45cb85f8c06351157db0f71b9fa67c412513811c.tar.bz2
android_hardware_interfaces-45cb85f8c06351157db0f71b9fa67c412513811c.zip
Suppress null-dereference warning
It is unclear whether author intentionally meant to cause segfault here. While waiting for the author to explain/fix the code, suppress the warning to unblock enabling the warning globally. Test: m checkbuild Bug: 121390225 Change-Id: Iad03842833cfdc243404a32f6b31d161387c3890
Diffstat (limited to 'keymaster')
-rw-r--r--keymaster/3.0/vts/functional/keymaster_tags.h3
-rw-r--r--keymaster/4.0/support/include/keymasterV4_0/keymaster_tags.h3
2 files changed, 6 insertions, 0 deletions
diff --git a/keymaster/3.0/vts/functional/keymaster_tags.h b/keymaster/3.0/vts/functional/keymaster_tags.h
index f241ef160..8544bf7dd 100644
--- a/keymaster/3.0/vts/functional/keymaster_tags.h
+++ b/keymaster/3.0/vts/functional/keymaster_tags.h
@@ -274,7 +274,10 @@ inline KeyParameter Authorization(TypedTag<tag_type, tag> ttag, Args&&... args)
*/
template <typename ValueT> class NullOr {
template <typename T> struct reference_initializer {
+#pragma GCC diagnostic push
+#pragma GCC diagnostic ignored "-Wnull-dereference"
static T&& init() { return *static_cast<std::remove_reference_t<T>*>(nullptr); }
+#pragma GCC diagnostic pop
};
template <typename T> struct pointer_initializer {
static T init() { return nullptr; }
diff --git a/keymaster/4.0/support/include/keymasterV4_0/keymaster_tags.h b/keymaster/4.0/support/include/keymasterV4_0/keymaster_tags.h
index 61c444c16..97dab6821 100644
--- a/keymaster/4.0/support/include/keymasterV4_0/keymaster_tags.h
+++ b/keymaster/4.0/support/include/keymasterV4_0/keymaster_tags.h
@@ -282,7 +282,10 @@ template <typename ValueT>
class NullOr {
template <typename T>
struct reference_initializer {
+#pragma GCC diagnostic push
+#pragma GCC diagnostic ignored "-Wnull-dereference"
static T&& init() { return *static_cast<std::remove_reference_t<T>*>(nullptr); }
+#pragma GCC diagnostic pop
};
template <typename T>
struct pointer_initializer {