For C++ UDFs and external procedures, you can use the C++ new or delete operators. Teradata overwrites these operators using FNC_malloc and FNC_free. The UDF or external procedure must catch the std::bad_alloc exception when Teradata cannot fulfill a memory allocation request. New operator calls may be implicitly hidden in a C++ library, so make sure the UDF or external procedure catches exceptions from those library functions also.