No ... quel codice è sbagliato.
Non è che non hai problemi ma il fatto è che scrivi in memoria oltre lo spazio riservato alla variabile. Se la memoria che "sporchi" non è importante ai fini dell'esecuzione del programma, allora non succede nulla e (apparentemente) ti sembra che il programma sia a posto.
Altrimenti hai un crash (ed è la situazione migliore dato che ti evidenzia il problema).
Con la new char devi indicare quanti caratteri riservare ...
Non so se hai studiato il C, ma non è differente a parte il fatto che allochi la memoria con funzioni apposite e non con il new.