[clang] [clang][analyzer] Add checker 'security.SetgidSetuidOrder'. (PR #91445)
DonĂ¡t Nagy via cfe-commits
cfe-commits at lists.llvm.org
Mon May 13 01:58:38 PDT 2024
================
@@ -0,0 +1,170 @@
+// RUN: %clang_analyze_cc1 -analyzer-checker=core,security.SetgidSetuidOrder -verify %s
+
+#include "Inputs/system-header-simulator-setgid-setuid.h"
+
+void correct_order() {
+ if (setgid(getgid()) == -1)
+ return;
+ if (setuid(getuid()) == -1)
+ return;
+ if (setgid(getgid()) == -1)
+ return;
----------------
NagyDonat wrote:
But why do the SEI-CERT best practices mandate that "this should not be recognized as an error"? Could you briefly explain this in a comment? (E.g. "Special case: calling `setgid(getgid())` after an earlier `setgid(getgid()); setuid(getuid())` combination is legitimate, because it... <why is this good>")
https://github.com/llvm/llvm-project/pull/91445
More information about the cfe-commits
mailing list