バッファアンダーラン
バッファアンダーラン (英: buffer underrun) またはバッファアンダーフロー (英: buffer underflow) とは、コンピュータシステムにおける例外動作の1つで、あるバッファ領域に対して必要とされる分より書き込まれるデータが不足することである。類似の用語にスタックアンダーフローがあり、これはスタックの限度を超えたポップのことであるが、バッファアンダーフローの用語においてもバッファ領域外の下位アドレスへの不正アクセスの意を含むとする意見もある。
プログラムに適切な防止/検出の例外処理が施されていない場合には、バッファオーバーランと同様にコンピュータセキュリティ上の深刻なセキュリティホールとなりうる。またリアルタイム性を要求される処理で発生した場合はセッションが失敗することもある。
バッファオーバーラン同様種類によってスタックアンダーラン、ヒープアンダーランに大別され、スタック、ヒープのいずれもプログラムの実行に不可欠なデータ(例えばサブルーチンのリターンアドレスや、ヒープ内のコード)を内包することがあり、そのようなデータを意図的に排除させることにより、意図的なコードを実行させることが可能になる。