Note that fmt.Errorf returns non-nil

This enables recognising more guarding functions that return nil/non-nil conditional on a barrier guard.
This commit is contained in:
Chris Smowton
2020-11-30 19:10:58 +00:00
parent 3338a0b10d
commit 5d17b27770

View File

@@ -1285,6 +1285,8 @@ private predicate certainlyReturnsNonNil(Function f, FunctionOutput output) {
(
f.hasQualifiedName("errors", "New")
or
f.hasQualifiedName("fmt", "Errorf")
or
f in [Builtin::new(), Builtin::make()]
or
exists(FuncDecl fd | fd = f.getFuncDecl() |