Fix C++ unit tests.

Add a missing test to libminijail_unittest.cpp and replace NULL with
nullptr.

Bug: 32608187
Test: libminijail_unittest, syscall_filter_unittest
Change-Id: If21e6e6f312e74bc63ea7865730cd73089eeeaf9
diff --git a/libminijail_unittest.cpp b/libminijail_unittest.cpp
index 4e75bdc..cdaba0b 100644
--- a/libminijail_unittest.cpp
+++ b/libminijail_unittest.cpp
@@ -17,7 +17,9 @@
 
 #include <errno.h>
 
+#include <fcntl.h>
 #include <sys/types.h>
+#include <sys/stat.h>
 #include <sys/wait.h>
 
 #include <gtest/gtest.h>
@@ -26,6 +28,12 @@
 #include "libminijail-private.h"
 #include "util.h"
 
+#if defined(__ANDROID__)
+const char *kShellPath = "/system/bin/sh";
+#else
+const char *kShellPath = "/bin/sh";
+#endif
+
 /* Prototypes needed only by test. */
 void *consumebytes(size_t length, char **buf, size_t *buflength);
 char *consumestr(char **buf, size_t *buflength);
@@ -41,7 +49,7 @@
   char buf[1024];
   size_t len = sizeof(buf);
   char *pos = &buf[0];
-  EXPECT_TRUE(NULL != consumebytes(0, &pos, &len));
+  EXPECT_NE(nullptr, consumebytes(0, &pos, &len));
   EXPECT_EQ(&buf[0], pos);
   EXPECT_EQ(sizeof(buf), len);
 }
@@ -52,7 +60,7 @@
   char *pos = &buf[0];
   /* One past the end since it consumes the whole buffer. */
   char *end = &buf[sizeof(buf)];
-  EXPECT_TRUE(NULL != consumebytes(len, &pos, &len));
+  EXPECT_NE(nullptr, consumebytes(len, &pos, &len));
   EXPECT_EQ((size_t)0, len);
   EXPECT_EQ(end, pos);
 }
@@ -63,7 +71,7 @@
   char *pos = &buf[0];
   /* One past the end since it consumes the whole buffer. */
   char *end = &buf[sizeof(buf) / 2];
-  EXPECT_TRUE(NULL != consumebytes(len / 2, &pos, &len));
+  EXPECT_NE(nullptr, consumebytes(len / 2, &pos, &len));
   EXPECT_EQ(sizeof(buf) / 2, len);
   EXPECT_EQ(end, pos);
 }
@@ -73,7 +81,7 @@
   size_t len = sizeof(buf);
   char *pos = &buf[0];
   /* One past the end since it consumes the whole buffer. */
-  EXPECT_TRUE(NULL == consumebytes(len + 1, &pos, &len));
+  EXPECT_EQ(nullptr, consumebytes(len + 1, &pos, &len));
   EXPECT_EQ(sizeof(buf), len);
   EXPECT_EQ(&buf[0], pos);
 }
@@ -83,7 +91,7 @@
   size_t len = 0;
   char *pos = &buf[0];
   memset(buf, 0xff, sizeof(buf));
-  EXPECT_EQ(NULL, consumestr(&pos, &len));
+  EXPECT_EQ(nullptr, consumestr(&pos, &len));
   EXPECT_EQ((size_t)0, len);
   EXPECT_EQ(&buf[0], pos);
 }
@@ -93,7 +101,7 @@
   size_t len = sizeof(buf);
   char *pos = &buf[0];
   memset(buf, 0xff, sizeof(buf));
-  EXPECT_EQ(NULL, consumestr(&pos, &len));
+  EXPECT_EQ(nullptr, consumestr(&pos, &len));
   EXPECT_EQ(sizeof(buf), len);
   EXPECT_EQ(&buf[0], pos);
 }
@@ -115,7 +123,7 @@
   char *pos = &buf[0];
   memset(buf, 0xff, sizeof(buf));
   buf[sizeof(buf)-1] = '\0';
-  EXPECT_EQ(NULL, consumestr(&pos, &len));
+  EXPECT_EQ(nullptr, consumestr(&pos, &len));
   EXPECT_EQ(sizeof(buf) - 1, len);
   EXPECT_EQ(&buf[0], pos);
 }
@@ -189,11 +197,7 @@
   ASSERT_TRUE(WIFSIGNALED(status));
   EXPECT_EQ(WTERMSIG(status), SIGTERM);
 
-#if defined(__ANDROID__)
-  argv[0] = "/system/bin/sh";
-#else
-  argv[0] = "/bin/sh";
-#endif
+  argv[0] = (char*)kShellPath;
   argv[1] = "-c";
   argv[2] = "echo test >&2";
   argv[3] = NULL;
@@ -211,3 +215,59 @@
 
   minijail_destroy(j);
 }
+
+TEST(Test, test_minijail_no_fd_leaks) {
+  pid_t pid;
+  int child_stdout;
+  int mj_run_ret;
+  ssize_t read_ret;
+  const size_t buf_len = 128;
+  char buf[buf_len];
+  char script[buf_len];
+  int status;
+  char *argv[4];
+
+  int dev_null = open("/dev/null", O_RDONLY);
+  ASSERT_NE(dev_null, -1);
+  snprintf(script,
+           sizeof(script),
+           "[ -e /proc/self/fd/%d ] && echo yes || echo no",
+           dev_null);
+
+  struct minijail *j = minijail_new();
+
+  argv[0] = (char*)kShellPath;
+  argv[1] = "-c";
+  argv[2] = script;
+  argv[3] = NULL;
+  mj_run_ret = minijail_run_pid_pipes_no_preload(
+      j, argv[0], argv, &pid, NULL, &child_stdout, NULL);
+  EXPECT_EQ(mj_run_ret, 0);
+
+  read_ret = read(child_stdout, buf, buf_len);
+  EXPECT_GE(read_ret, 0);
+  buf[read_ret] = '\0';
+  EXPECT_STREQ(buf, "yes\n");
+
+  waitpid(pid, &status, 0);
+  ASSERT_TRUE(WIFEXITED(status));
+  EXPECT_EQ(WEXITSTATUS(status), 0);
+
+  minijail_close_open_fds(j);
+  mj_run_ret = minijail_run_pid_pipes_no_preload(
+      j, argv[0], argv, &pid, NULL, &child_stdout, NULL);
+  EXPECT_EQ(mj_run_ret, 0);
+
+  read_ret = read(child_stdout, buf, buf_len);
+  EXPECT_GE(read_ret, 0);
+  buf[read_ret] = '\0';
+  EXPECT_STREQ(buf, "no\n");
+
+  waitpid(pid, &status, 0);
+  ASSERT_TRUE(WIFEXITED(status));
+  EXPECT_EQ(WEXITSTATUS(status), 0);
+
+  minijail_destroy(j);
+
+  close(dev_null);
+}
diff --git a/syscall_filter_unittest.cpp b/syscall_filter_unittest.cpp
index 2b6c09c..3b99b02 100644
--- a/syscall_filter_unittest.cpp
+++ b/syscall_filter_unittest.cpp
@@ -376,13 +376,13 @@
   struct filter_block *block =
       compile_section(nr, fragment, id, &labels_, NO_LOGGING);
 
-  ASSERT_TRUE(block != NULL);
+  ASSERT_NE(block, nullptr);
   size_t exp_total_len = 1 + (BPF_ARG_COMP_LEN + 1) + 2 + 1 + 2;
   EXPECT_EQ(block->total_len, exp_total_len);
 
   /* First block is a label. */
   struct filter_block *curr_block = block;
-  ASSERT_TRUE(curr_block != NULL);
+  ASSERT_NE(curr_block, nullptr);
   EXPECT_EQ(block->len, 1U);
   EXPECT_LBL(curr_block->instrs);
 
@@ -392,20 +392,20 @@
 
   /* Third block is a jump and a label (end of AND group). */
   curr_block = curr_block->next;
-  ASSERT_TRUE(curr_block != NULL);
+  ASSERT_NE(curr_block, nullptr);
   EXPECT_GROUP_END(curr_block);
 
   /* Fourth block is SECCOMP_RET_KILL. */
   curr_block = curr_block->next;
-  ASSERT_TRUE(curr_block != NULL);
+  ASSERT_NE(curr_block, nullptr);
   EXPECT_KILL(curr_block);
 
   /* Fifth block is "SUCCESS" label and SECCOMP_RET_ALLOW. */
   curr_block = curr_block->next;
-  ASSERT_TRUE(curr_block != NULL);
+  ASSERT_NE(curr_block, nullptr);
   EXPECT_ALLOW(curr_block);
 
-  EXPECT_TRUE(curr_block->next == NULL);
+  EXPECT_EQ(curr_block->next, nullptr);
 
   free_block_list(block);
 }
@@ -417,13 +417,13 @@
   struct filter_block *block =
       compile_section(nr, fragment, id, &labels_, NO_LOGGING);
 
-  ASSERT_TRUE(block != NULL);
+  ASSERT_NE(block, nullptr);
   size_t exp_total_len = 1 + (BPF_ARG_COMP_LEN + 1) + 2 + 1 + 2;
   EXPECT_EQ(block->total_len, exp_total_len);
 
   /* First block is a label. */
   struct filter_block *curr_block = block;
-  ASSERT_TRUE(curr_block != NULL);
+  ASSERT_NE(curr_block, nullptr);
   EXPECT_EQ(block->len, 1U);
   EXPECT_LBL(curr_block->instrs);
 
@@ -433,20 +433,20 @@
 
   /* Third block is a jump and a label (end of AND group). */
   curr_block = curr_block->next;
-  ASSERT_TRUE(curr_block != NULL);
+  ASSERT_NE(curr_block, nullptr);
   EXPECT_GROUP_END(curr_block);
 
   /* Fourth block is SECCOMP_RET_KILL. */
   curr_block = curr_block->next;
-  ASSERT_TRUE(curr_block != NULL);
+  ASSERT_NE(curr_block, nullptr);
   EXPECT_KILL(curr_block);
 
   /* Fifth block is "SUCCESS" label and SECCOMP_RET_ALLOW. */
   curr_block = curr_block->next;
-  ASSERT_TRUE(curr_block != NULL);
+  ASSERT_NE(curr_block, nullptr);
   EXPECT_ALLOW(curr_block);
 
-  EXPECT_TRUE(curr_block->next == NULL);
+  EXPECT_EQ(curr_block->next, nullptr);
 
   free_block_list(block);
 }
@@ -501,39 +501,39 @@
   struct filter_block *block =
       compile_section(nr, fragment, id, &labels_, NO_LOGGING);
 
-  ASSERT_TRUE(block != NULL);
+  ASSERT_NE(block, nullptr);
   size_t exp_total_len = 1 + (BPF_ARG_COMP_LEN + 1) + 2 + 1 + 2;
   EXPECT_EQ(block->total_len, exp_total_len);
 
   /* First block is a label. */
   struct filter_block *curr_block = block;
-  ASSERT_TRUE(curr_block != NULL);
+  ASSERT_NE(curr_block, nullptr);
   EXPECT_EQ(block->len, 1U);
   EXPECT_LBL(curr_block->instrs);
 
   /* Second block is a comparison. */
   curr_block = block->next;
-  ASSERT_TRUE(curr_block != NULL);
+  ASSERT_NE(curr_block, nullptr);
   EXPECT_COMP(curr_block);
   EXPECT_EQ(curr_block->instrs[BPF_ARG_COMP_LEN - 1].k,
             (unsigned int)(O_WRONLY | O_CREAT));
 
   /* Third block is a jump and a label (end of AND group). */
   curr_block = curr_block->next;
-  ASSERT_TRUE(curr_block != NULL);
+  ASSERT_NE(curr_block, nullptr);
   EXPECT_GROUP_END(curr_block);
 
   /* Fourth block is SECCOMP_RET_KILL. */
   curr_block = curr_block->next;
-  ASSERT_TRUE(curr_block != NULL);
+  ASSERT_NE(curr_block, nullptr);
   EXPECT_KILL(curr_block);
 
   /* Fifth block is "SUCCESS" label and SECCOMP_RET_ALLOW. */
   curr_block = curr_block->next;
-  ASSERT_TRUE(curr_block != NULL);
+  ASSERT_NE(curr_block, nullptr);
   EXPECT_ALLOW(curr_block);
 
-  EXPECT_TRUE(curr_block->next == NULL);
+  EXPECT_EQ(curr_block->next, nullptr);
 
   free_block_list(block);
 }
@@ -545,52 +545,52 @@
 
   struct filter_block *block =
       compile_section(nr, fragment, id, &labels_, NO_LOGGING);
-  ASSERT_TRUE(block != NULL);
+  ASSERT_NE(block, nullptr);
   size_t exp_total_len = 1 + 3 * (BPF_ARG_COMP_LEN + 1) + 2 + 2 + 1 + 2;
   EXPECT_EQ(block->total_len, exp_total_len);
 
   /* First block is a label. */
   struct filter_block *curr_block = block;
-  ASSERT_TRUE(curr_block != NULL);
+  ASSERT_NE(curr_block, nullptr);
   EXPECT_EQ(block->len, 1U);
   EXPECT_LBL(curr_block->instrs);
 
   /* Second block is a comparison ("arg0 == 0"). */
   curr_block = curr_block->next;
-  ASSERT_TRUE(curr_block != NULL);
+  ASSERT_NE(curr_block, nullptr);
   EXPECT_COMP(curr_block);
 
   /* Third block is a comparison ("arg1 == 0"). */
   curr_block = curr_block->next;
-  ASSERT_TRUE(curr_block != NULL);
+  ASSERT_NE(curr_block, nullptr);
   EXPECT_COMP(curr_block);
 
   /* Fourth block is a jump and a label (end of AND group). */
   curr_block = curr_block->next;
-  ASSERT_TRUE(curr_block != NULL);
+  ASSERT_NE(curr_block, nullptr);
   EXPECT_GROUP_END(curr_block);
 
   /* Fifth block is a comparison ("arg0 == 1"). */
   curr_block = curr_block->next;
-  ASSERT_TRUE(curr_block != NULL);
+  ASSERT_NE(curr_block, nullptr);
   EXPECT_COMP(curr_block);
 
   /* Sixth block is a jump and a label (end of AND group). */
   curr_block = curr_block->next;
-  ASSERT_TRUE(curr_block != NULL);
+  ASSERT_NE(curr_block, nullptr);
   EXPECT_GROUP_END(curr_block);
 
   /* Seventh block is SECCOMP_RET_KILL. */
   curr_block = curr_block->next;
-  ASSERT_TRUE(curr_block != NULL);
+  ASSERT_NE(curr_block, nullptr);
   EXPECT_KILL(curr_block);
 
   /* Eigth block is "SUCCESS" label and SECCOMP_RET_ALLOW. */
   curr_block = curr_block->next;
-  ASSERT_TRUE(curr_block != NULL);
+  ASSERT_NE(curr_block, nullptr);
   EXPECT_ALLOW(curr_block);
 
-  EXPECT_TRUE(curr_block->next == NULL);
+  EXPECT_EQ(curr_block->next, nullptr);
 
   free_block_list(block);
 }
@@ -602,39 +602,39 @@
 
   struct filter_block *block =
       compile_section(nr, fragment, id, &labels_, NO_LOGGING);
-  ASSERT_TRUE(block != NULL);
+  ASSERT_NE(block, nullptr);
   size_t exp_total_len = 1 + 2 * (BPF_ARG_COMP_LEN + 1) + 2 + 2 + 1 + 2;
   EXPECT_EQ(block->total_len, exp_total_len);
 
   /* First block is a label. */
   struct filter_block *curr_block = block;
-  ASSERT_TRUE(curr_block != NULL);
+  ASSERT_NE(curr_block, nullptr);
   EXPECT_EQ(block->len, 1U);
   EXPECT_LBL(curr_block->instrs);
 
   /* Second block is a comparison ("arg0 == 0"). */
   curr_block = curr_block->next;
-  ASSERT_TRUE(curr_block != NULL);
+  ASSERT_NE(curr_block, nullptr);
   EXPECT_COMP(curr_block);
 
   /* Third block is a jump and a label (end of AND group). */
   curr_block = curr_block->next;
-  ASSERT_TRUE(curr_block != NULL);
+  ASSERT_NE(curr_block, nullptr);
   EXPECT_GROUP_END(curr_block);
 
   /* Fourth block is a comparison ("arg0 == 1"). */
   curr_block = curr_block->next;
-  ASSERT_TRUE(curr_block != NULL);
+  ASSERT_NE(curr_block, nullptr);
   EXPECT_COMP(curr_block);
 
   /* Fifth block is a jump and a label (end of AND group). */
   curr_block = curr_block->next;
-  ASSERT_TRUE(curr_block != NULL);
+  ASSERT_NE(curr_block, nullptr);
   EXPECT_GROUP_END(curr_block);
 
   /* Sixth block is SECCOMP_RET_ERRNO. */
   curr_block = curr_block->next;
-  ASSERT_TRUE(curr_block != NULL);
+  ASSERT_NE(curr_block, nullptr);
   EXPECT_EQ(curr_block->len, 1U);
   EXPECT_EQ_STMT(curr_block->instrs,
                  BPF_RET + BPF_K,
@@ -642,10 +642,10 @@
 
   /* Seventh block is "SUCCESS" label and SECCOMP_RET_ALLOW. */
   curr_block = curr_block->next;
-  ASSERT_TRUE(curr_block != NULL);
+  ASSERT_NE(curr_block, nullptr);
   EXPECT_ALLOW(curr_block);
 
-  EXPECT_TRUE(curr_block->next == NULL);
+  EXPECT_EQ(curr_block->next, nullptr);
 
   free_block_list(block);
 }
@@ -657,25 +657,25 @@
 
   struct filter_block *block =
       compile_section(nr, fragment, id, &labels_, NO_LOGGING);
-  ASSERT_TRUE(block != NULL);
+  ASSERT_NE(block, nullptr);
   size_t exp_total_len = 2;
   EXPECT_EQ(block->total_len, exp_total_len);
 
   /* First block is a label. */
   struct filter_block *curr_block = block;
-  ASSERT_TRUE(curr_block != NULL);
+  ASSERT_NE(curr_block, nullptr);
   EXPECT_EQ(block->len, 1U);
   EXPECT_LBL(curr_block->instrs);
 
   /* Second block is SECCOMP_RET_ERRNO. */
   curr_block = curr_block->next;
-  ASSERT_TRUE(curr_block != NULL);
+  ASSERT_NE(curr_block, nullptr);
   EXPECT_EQ(curr_block->len, 1U);
   EXPECT_EQ_STMT(curr_block->instrs,
                  BPF_RET + BPF_K,
                  SECCOMP_RET_ERRNO | (1 & SECCOMP_RET_DATA));
 
-  EXPECT_TRUE(curr_block->next == NULL);
+  EXPECT_EQ(curr_block->next, nullptr);
 
   free_block_list(block);
 }
@@ -757,37 +757,37 @@
   struct filter_block *block =
       compile_section(nr, fragment, id, &labels_, USE_LOGGING);
 
-  ASSERT_TRUE(block != NULL);
+  ASSERT_NE(block, nullptr);
   size_t exp_total_len = 1 + (BPF_ARG_COMP_LEN + 1) + 2 + 1 + 2;
   EXPECT_EQ(block->total_len, exp_total_len);
 
   /* First block is a label. */
   struct filter_block *curr_block = block;
-  ASSERT_TRUE(curr_block != NULL);
+  ASSERT_NE(curr_block, nullptr);
   EXPECT_EQ(block->len, 1U);
   EXPECT_LBL(curr_block->instrs);
 
   /* Second block is a comparison. */
   curr_block = block->next;
-  ASSERT_TRUE(curr_block != NULL);
+  ASSERT_NE(curr_block, nullptr);
   EXPECT_COMP(curr_block);
 
   /* Third block is a jump and a label (end of AND group). */
   curr_block = curr_block->next;
-  ASSERT_TRUE(curr_block != NULL);
+  ASSERT_NE(curr_block, nullptr);
   EXPECT_GROUP_END(curr_block);
 
   /* Fourth block is SECCOMP_RET_TRAP, with no errno. */
   curr_block = curr_block->next;
-  ASSERT_TRUE(curr_block != NULL);
+  ASSERT_NE(curr_block, nullptr);
   EXPECT_TRAP(curr_block);
 
   /* Fifth block is "SUCCESS" label and SECCOMP_RET_ALLOW. */
   curr_block = curr_block->next;
-  ASSERT_TRUE(curr_block != NULL);
+  ASSERT_NE(curr_block, nullptr);
   EXPECT_ALLOW(curr_block);
 
-  EXPECT_TRUE(curr_block->next == NULL);
+  EXPECT_EQ(curr_block->next, nullptr);
 
   free_block_list(block);
 }
@@ -799,39 +799,39 @@
 
   struct filter_block *block =
       compile_section(nr, fragment, id, &labels_, NO_LOGGING);
-  ASSERT_TRUE(block != NULL);
+  ASSERT_NE(block, nullptr);
   size_t exp_total_len = 1 + (BPF_ARG_COMP_LEN + 1) + 2 + 1 + 2;
   EXPECT_EQ(block->total_len, exp_total_len);
 
   /* First block is a label. */
   struct filter_block *curr_block = block;
-  ASSERT_TRUE(curr_block != NULL);
+  ASSERT_NE(curr_block, nullptr);
   EXPECT_EQ(block->len, 1U);
   EXPECT_LBL(curr_block->instrs);
 
   /* Second block is a comparison ("arg0 == 0"). */
   curr_block = curr_block->next;
-  ASSERT_TRUE(curr_block != NULL);
+  ASSERT_NE(curr_block, nullptr);
   EXPECT_COMP(curr_block);
 
   /* Third block is a jump and a label (end of AND group). */
   curr_block = curr_block->next;
-  ASSERT_TRUE(curr_block != NULL);
+  ASSERT_NE(curr_block, nullptr);
   EXPECT_GROUP_END(curr_block);
 
   /*
    * Sixth block is NOT SECCOMP_RET_ERRNO, it should be SECCOMP_RET_KILL.
    */
   curr_block = curr_block->next;
-  ASSERT_TRUE(curr_block != NULL);
+  ASSERT_NE(curr_block, nullptr);
   EXPECT_KILL(curr_block);
 
   /* Seventh block is "SUCCESS" label and SECCOMP_RET_ALLOW. */
   curr_block = curr_block->next;
-  ASSERT_TRUE(curr_block != NULL);
+  ASSERT_NE(curr_block, nullptr);
   EXPECT_ALLOW(curr_block);
 
-  EXPECT_TRUE(curr_block->next == NULL);
+  EXPECT_EQ(curr_block->next, nullptr);
 
   free_block_list(block);
 }
@@ -843,24 +843,24 @@
 
   struct filter_block *block =
       compile_section(nr, fragment, id, &labels_, USE_LOGGING);
-  ASSERT_TRUE(block != NULL);
+  ASSERT_NE(block, nullptr);
   size_t exp_total_len = 1 + (BPF_ARG_COMP_LEN + 1) + 2 + 1 + 2;
   EXPECT_EQ(block->total_len, exp_total_len);
 
   /* First block is a label. */
   struct filter_block *curr_block = block;
-  ASSERT_TRUE(curr_block != NULL);
+  ASSERT_NE(curr_block, nullptr);
   EXPECT_EQ(block->len, 1U);
   EXPECT_LBL(curr_block->instrs);
 
   /* Second block is a comparison ("arg0 == 0"). */
   curr_block = curr_block->next;
-  ASSERT_TRUE(curr_block != NULL);
+  ASSERT_NE(curr_block, nullptr);
   EXPECT_COMP(curr_block);
 
   /* Third block is a jump and a label (end of AND group). */
   curr_block = curr_block->next;
-  ASSERT_TRUE(curr_block != NULL);
+  ASSERT_NE(curr_block, nullptr);
   EXPECT_GROUP_END(curr_block);
 
   /*
@@ -868,15 +868,15 @@
    * SECCOMP_RET_TRAP.
    */
   curr_block = curr_block->next;
-  ASSERT_TRUE(curr_block != NULL);
+  ASSERT_NE(curr_block, nullptr);
   EXPECT_TRAP(curr_block);
 
   /* Seventh block is "SUCCESS" label and SECCOMP_RET_ALLOW. */
   curr_block = curr_block->next;
-  ASSERT_TRUE(curr_block != NULL);
+  ASSERT_NE(curr_block, nullptr);
   EXPECT_ALLOW(curr_block);
 
-  EXPECT_TRUE(curr_block->next == NULL);
+  EXPECT_EQ(curr_block->next, nullptr);
 
   free_block_list(block);
 }
@@ -927,7 +927,7 @@
       "exit: 1\n";
 
   FILE *policy_file = write_policy_to_pipe(policy, strlen(policy));
-  ASSERT_TRUE(policy_file != NULL);
+  ASSERT_NE(policy_file, nullptr);
 
   int res = compile_filter(policy_file, &actual, USE_RET_KILL, NO_LOGGING);
   fclose(policy_file);
@@ -964,7 +964,7 @@
     "exit: 1\n";
 
   FILE *policy_file = write_policy_to_pipe(policy, strlen(policy));
-  ASSERT_TRUE(policy_file != NULL);
+  ASSERT_NE(policy_file, nullptr);
 
   int res = compile_filter(policy_file, &actual, USE_RET_TRAP, NO_LOGGING);
   fclose(policy_file);
@@ -1002,7 +1002,7 @@
       "exit: 1\n";
 
   FILE *policy_file = write_policy_to_pipe(policy, strlen(policy));
-  ASSERT_TRUE(policy_file != NULL);
+  ASSERT_NE(policy_file, nullptr);
 
   int res = compile_filter(policy_file, &actual, USE_RET_KILL, NO_LOGGING);
   fclose(policy_file);
@@ -1055,7 +1055,7 @@
   const char *policy = "notasyscall: 1\n";
 
   FILE *policy_file = write_policy_to_pipe(policy, strlen(policy));
-  ASSERT_TRUE(policy_file != NULL);
+  ASSERT_NE(policy_file, nullptr);
 
   int res = compile_filter(policy_file, &actual, 0, NO_LOGGING);
   fclose(policy_file);
@@ -1067,7 +1067,7 @@
   const char *policy = "open: argnn ==\n";
 
   FILE *policy_file = write_policy_to_pipe(policy, strlen(policy));
-  ASSERT_TRUE(policy_file != NULL);
+  ASSERT_NE(policy_file, nullptr);
 
   int res = compile_filter(policy_file, &actual, 0, NO_LOGGING);
   fclose(policy_file);
@@ -1089,7 +1089,7 @@
       "exit: 1\n";
 
   FILE *policy_file = write_policy_to_pipe(policy, strlen(policy));
-  ASSERT_TRUE(policy_file != NULL);
+  ASSERT_NE(policy_file, nullptr);
 
   int res = compile_filter(policy_file, &actual, USE_RET_TRAP, USE_LOGGING);
   fclose(policy_file);
@@ -1135,7 +1135,7 @@
     "exit: 1\n";
 
   FILE *policy_file = write_policy_to_pipe(policy, strlen(policy));
-  ASSERT_TRUE(policy_file != NULL);
+  ASSERT_NE(policy_file, nullptr);
 
   int res = compile_filter(policy_file, &actual, USE_RET_KILL, USE_LOGGING);
   fclose(policy_file);