https://s3.amazonaws.com/clickhouse-test-reports/33847/8921725d716e05b13dc82f2db1c3d5bfc3ad6983/fuzzer_astfuzzerubsan,actions//report.html

```
../src/Interpreters/InterpreterCreateFunctionQuery.cpp:69:69: runtime error: member call on null pointer of type 'DB::ASTIdentifier'
    #0 0x1f78fbff in DB::InterpreterCreateFunctionQuery::validateFunction(std::__1::shared_ptr<DB::IAST>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&) obj-x86_64-linux-gnu/../src/Interpreters/InterpreterCreateFunctionQuery.cpp:69:69
    #1 0x1f78f3cf in DB::InterpreterCreateFunctionQuery::execute() obj-x86_64-linux-gnu/../src/Interpreters/InterpreterCreateFunctionQuery.cpp:52:5
    #2 0x1fd64086 in DB::executeQueryImpl(char const*, char const*, std::__1::shared_ptr<DB::Context>, bool, DB::QueryProcessingStage::Enum, DB::ReadBuffer*) obj-x86_64-linux-gnu/../src/Interpreters/executeQuery.cpp:665:36
    #3 0x1fd610c9 in DB::executeQuery(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::shared_ptr<DB::Context>, bool, DB::QueryProcessingStage::Enum) obj-x86_64-linux-gnu/../src/Interpreters/executeQuery.cpp:984:30
    #4 0x20b10c06 in DB::TCPHandler::runImpl() obj-x86_64-linux-gnu/../src/Server/TCPHandler.cpp:333:24
    #5 0x20b2fef5 in DB::TCPHandler::run() obj-x86_64-linux-gnu/../src/Server/TCPHandler.cpp:1909:9
    #6 0x217a3b6b in Poco::Net::TCPServerConnection::start() obj-x86_64-linux-gnu/../contrib/poco/Net/src/TCPServerConnection.cpp:43:3
    #7 0x217a4044 in Poco::Net::TCPServerDispatcher::run() obj-x86_64-linux-gnu/../contrib/poco/Net/src/TCPServerDispatcher.cpp:115:20
    #8 0x21917f86 in Poco::PooledThread::run() obj-x86_64-linux-gnu/../contrib/poco/Foundation/src/ThreadPool.cpp:199:14
    #9 0x2191586b in Poco::ThreadImpl::runnableEntry(void*) obj-x86_64-linux-gnu/../contrib/poco/Foundation/src/Thread_POSIX.cpp:345:27
    #10 0x7fb19dd4e608 in start_thread /build/glibc-eX1tMB/glibc-2.31/nptl/pthread_create.c:477:8
    #11 0x7fb19dc75292 in __clone /build/glibc-eX1tMB/glibc-2.31/misc/../sysdeps/unix/sysv/linux/x86_64/clone.S:95
```

```
2022.01.21 16:15:19.035403 [ 167 ] {34849040-5c23-4c9a-aa17-eab03a062a38} <Debug> executeQuery: (from [::ffff:127.0.0.1]:60978) CREATE FUNCTION `02098_alias_function` AS lambda(((x * 2) AS x_doubled) + x_doubled)
2022.01.21 16:15:19.035453 [ 167 ] {34849040-5c23-4c9a-aa17-eab03a062a38} <Trace> ContextAccess (default): Access granted: CREATE FUNCTION ON *.*
2022.01.21 16:15:20.373854 [ 415 ] {} <Fatal> BaseDaemon: (version 22.2.1.2962, build id: B1EAAF5B1933AEE2) (from thread 167) (query_id: 34849040-5c23-4c9a-aa17-eab03a062a38) Received signal Unknown signal (-3)
```
{
    FunctionNameNormalizer().visit(query_ptr.get());
    ASTCreateFunctionQuery & create_function_query = query_ptr->as<ASTCreateFunctionQuery &>();
    AccessRightsElements access_rights_elements;
    access_rights_elements.emplace_back(AccessType::CREATE_FUNCTION);
    if (create_function_query.or_replace)
        access_rights_elements.emplace_back(AccessType::DROP_FUNCTION);
    if (!create_function_query.cluster.empty())
        return executeDDLQueryOnCluster(query_ptr, getContext(), access_rights_elements);
    auto current_context = getContext();
    current_context->checkAccess(access_rights_elements);
    auto & user_defined_function_factory = UserDefinedSQLFunctionFactory::instance();
    auto function_name = create_function_query.getFunctionName();
    bool if_not_exists = create_function_query.if_not_exists;
    bool replace = create_function_query.or_replace;
    create_function_query.if_not_exists = false;
    create_function_query.or_replace = false;
    validateFunction(create_function_query.function_core, function_name);
    user_defined_function_factory.registerFunction(current_context, function_name, query_ptr, replace, if_not_exists, persist_function);