parameters: (output, path)
return_statement: return os.path.join(output, path)
docstring: CheckedJoin returns os.path.join(output, path). It does sanity checks to
    ensure the resulting path is under output, but shouldn't be used on untrusted
    input.
docstring_summary: CheckedJoin returns os.path.join(output, path). It does sanity checks to
    ensure the resulting path is under output, but shouldn't be used on untrusted
    input.
docstring_tokens: CheckedJoin returns os . path . join ( output path ) . It does sanity checks to ensure the resulting path is under output but shouldn t be used on untrusted input .
function: def CheckedJoin(output, path):
    """
    CheckedJoin returns os.path.join(output, path). It does sanity checks to
    ensure the resulting path is under output, but shouldn't be used on untrusted
    input.
    """
    path = os.path.normpath(path)
    if os.path.isabs(path) or path.startswith('.'):
      raise ValueError(path)
    return os.path.join(output, path)
function_tokens: def CheckedJoin ( output , path ) : path = os . path . normpath ( path ) if os . path . isabs ( path ) or path . startswith ( '.' ) : raise ValueError ( path ) return os . path . join ( output , path )