タグ

cに関するmikedaのブックマーク (2)

  • C/C++ セキュアコーディングセミナー資料 | JPCERT コーディネーションセンター

    これまでにC/C++ セキュアコーディングセミナーで使用した講義資料を公開しています。2010年度にセミナを実施した、文字列、整数、動的メモリ管理、書式指定文字列、CERT C セキュアコーディングスタンダード、ROSE については、それぞれ最新版の資料を掲載しています。 文字列 ユーザとソフトウエア間に発生するデータのやりとりの大部分は文字列によって行われます。 また、プログラム間でのデータ交換も文字列形式で行われるようになり、その結果、文字列表現や文字列管理、文字列操作における弱点がソフトウエア脆弱性を生み出しています。 文字列では、C/C++ 言語における文字列操作、一般的なセキュリティ上の欠陥と、その結果発生する脆弱性と対処方法について解説します。 C/C++ における文字列の特性 犯しやすい文字列操作の間違い 文字列の脆弱性 プロセスのメモリ構成 スタック破壊の仕組み コードイン

    C/C++ セキュアコーディングセミナー資料 | JPCERT コーディネーションセンター
  • 括弧の対応 - 素人がプログラミングを勉強していたブログ

    #include <stdio.h> int brackets(char *str) { int bra = 0; for (; *str; str++) { if (*str == '(') { ++bra; } else if (*str == ')') { if (--bra < 0) return 0; } } return !bra; } int main(int argc, char **argv) { puts(brackets(argc > 1? argv[1]: "")? "good": "bad"); return 0; } % cc brackets.c % ./a.out good % ./a.out "(a)" good % ./a.out "()(" bad % ./a.out ")(" bad % ./a.out "(()())" good

    括弧の対応 - 素人がプログラミングを勉強していたブログ
    mikeda
    mikeda 2009/03/01
  • 1