def read_requirements(name):
    project_root = os.path.dirname(os.path.abspath(__file__))
    with open(os.path.join(project_root, name), 'rb') as f:
        # remove whitespace and comments
        g = (line.decode('utf-8').lstrip().split('#', 1)[0].rstrip() for line in f)
        return [l for l in g if l]
The software does not properly control the allocation and maintenance of a limited resource, thereby enabling an actor to influence the amount of resources consumed, eventually leading to the exhaustion of available resources.