Какая проблема в данной программе?

#include <iostream> 
#include <cstring> 
 
char * CutString(const char * str1) 
{ 
    char str2[4];  
    strncpy(str2, str1, 3);  
    str2[3] = '\0';    //1  
    return str2;   
} 
 
int main() 
{ 
      char * s = CutString("aaaaaaa"); 
      std::cout<<(s); 
} 
Пропадает некоторое количество символов в str2
Неопределенное поведение, так как str2 не будет существовать на момент cout
Указатель на класс типа char не ставится
Ошибка в строке 1