バッファオーバーフロー

初歩の初歩ですが、Cの入力取得。
同期の話を聞いて試してみた。

#include <stdio.h>

void main(void){
        char input[4];
        gets(input);    //オーバーフローする
        //fgets(input, sizeof(input), stdin);
        puts(input);
}
#include <stdio.h>

void main(void){
        char input[4];
        //gets(input);
        fgets(input, sizeof(input), stdin);    //オーバーフローしない
        puts(input);
}

セキュアコーディングは大変ですね・・・。