CORD-1870: Fix an exception in composite policies

Change-Id: I158f7867eb0eb6e495d0335c6132a6da6cf99b12
diff --git a/lib/xos-genx/xos-genx-tests/test_general_security.py b/lib/xos-genx/xos-genx-tests/test_general_security.py
index 976e4f7..b571294 100644
--- a/lib/xos-genx/xos-genx-tests/test_general_security.py
+++ b/lib/xos-genx/xos-genx-tests/test_general_security.py
@@ -158,10 +158,8 @@
         ctx = FakeArgs()
 	ctx.user = 1
 
-#       FIXME: This test is not passing
-#        verdict = output_security_check(obj, ctx)
-#        self.assertTrue(verdict)
-
+        verdict = output_security_check(obj, ctx)
+        self.assertTrue(verdict)
 
     def test_bin(self):
         xproto = \
diff --git a/lib/xos-genx/xosgenx/jinja2_extensions/fol2.py b/lib/xos-genx/xosgenx/jinja2_extensions/fol2.py
index fefa24c..db98713 100644
--- a/lib/xos-genx/xosgenx/jinja2_extensions/fol2.py
+++ b/lib/xos-genx/xosgenx/jinja2_extensions/fol2.py
@@ -465,7 +465,11 @@
 
             policy_fn = fn_template % policy_name
             call_str = """
-%(verdict_var)s = %(policy_fn)s(obj.%(object_name)s, ctx)
+if obj.%(object_name)s:
+    %(verdict_var)s = %(policy_fn)s(obj.%(object_name)s, ctx)
+else:
+    # Everybody has access to null objects
+    %(verdict_var)s = True
             """ % {'verdict_var': verdict_var, 'policy_fn': policy_fn, 'object_name': object_name}
 
             call_ast = self.str_to_ast(call_str)