mirror of
https://github.com/github/codeql.git
synced 2025-12-17 09:13:20 +01:00
137 lines
1.9 KiB
Python
137 lines
1.9 KiB
Python
|
|
#Consistent Returns
|
|
|
|
__all__ = [ '' ]
|
|
|
|
def ok1(x):
|
|
if x:
|
|
return None
|
|
else:
|
|
return
|
|
|
|
def ok2(x):
|
|
if x:
|
|
return 4
|
|
else:
|
|
return "Hi"
|
|
|
|
def cr1(x):
|
|
if x:
|
|
return 4
|
|
|
|
def cr2(x):
|
|
if x:
|
|
return 4
|
|
else:
|
|
return
|
|
|
|
def ok3(x):
|
|
try:
|
|
return
|
|
finally:
|
|
do_something()
|
|
|
|
#Modification of parameter with default
|
|
|
|
def ok4(x = []):
|
|
return len(x)
|
|
|
|
def use_implicit_return_value(arg):
|
|
x = do_nothing()
|
|
return call_non_callable(arg)
|
|
|
|
#The return in the lambda is OK as it is auto-generated
|
|
y = lambda x : do_nothing()
|
|
|
|
def do_nothing():
|
|
pass
|
|
|
|
|
|
def returns_self(self):
|
|
return self
|
|
|
|
def return_value_ignored():
|
|
ok2()
|
|
ok4()
|
|
sorted([1,2])
|
|
|
|
d = {}
|
|
|
|
def use_return_values():
|
|
x = ok2()
|
|
x = ok2()
|
|
x = ok3()
|
|
x = ok3()
|
|
x = ok4()
|
|
x = ok4()
|
|
x = y()
|
|
x = y()
|
|
x = returns_self()
|
|
x = returns_self()
|
|
x = sorted(x)
|
|
x = sorted(x)
|
|
x = ok2()
|
|
x = ok2()
|
|
x = ok3()
|
|
x = ok3()
|
|
x = ok4()
|
|
x = ok4()
|
|
x = y()
|
|
x = y()
|
|
x = returns_self()
|
|
x = returns_self()
|
|
x = sorted(x)
|
|
x = sorted(x)
|
|
|
|
def ok_to_ignore():
|
|
ok1
|
|
do_nothing()
|
|
returns_self()
|
|
ok3()
|
|
y()
|
|
|
|
class DeprecatedSliceMethods(object):
|
|
|
|
def __getslice__(self, start, stop):
|
|
pass
|
|
|
|
def __setslice__(self, start, stop, value):
|
|
pass
|
|
|
|
def __delslice__(self, start, stop):
|
|
pass
|
|
|
|
|
|
|
|
@decorator
|
|
def nested_call_implicit_return_func_ok(arg):
|
|
do_nothing()
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
#Harmless, so we allow it.
|
|
def use_implicit_return_value_ok(arg):
|
|
return do_nothing()
|
|
|
|
def mutli_return(arg):
|
|
if arg:
|
|
return do_something()
|
|
else:
|
|
return do_nothing()
|
|
|
|
#ODASA 3658
|
|
from sys import exit
|
|
#Consistent returns
|
|
def ok5():
|
|
try:
|
|
may_raise()
|
|
return 0
|
|
except ValueError as e:
|
|
print(e)
|
|
exit(EXIT_ERROR)
|