> Írhatsz te inicializálatlan területre is, van rá esély, hogy észre sem veszed. Az esetek egy részében jól is működik a program. Csak egy karakterrel írom túl, stb.
Persze, mert lapokat kapsz, nem byte-okat. De ez nem jó működés, hanem mázli. Legközelebb meg simán összedől, mint fél disznó az ólban.
> Vagy egy felszabadított pointer helyére. Ezért nincs semmi értelme a NULL check-nek, 
Vagyis szerinted ez a helyes kód:
      
  int valami(char *input, size_t len)
{
	char *kecske;
	kecske = malloc(len);
	strncpy(kecske, input, len);
	// TODO: something with kecske
	return 0;
}int valami(char *input, size_t len)
{
	char *kecske;
	kecske = malloc(len);
	if (kecske == NULL)
	{
		return 1;
	}
	strncpy(kecske, input, len);
	// TODO: something with kecske
	return 0;
}