配列の境界を超えてアクセスしてもエラーが発生しない

バグ情報

マシンコード (DLL) でコンパイルした実行ファイル内で、可変長配列に境界を超えてアクセスした場合に実行時エラーが発生しない不具合が確認されています。

Bug ID 2947
Product PowerBuilder EN/JP
ステータス Appeonにて検証中
発生バージョン EN 12.6以前 2017 2017 R2 2017 R3 2019
JP 12.6以前 2017 R2 2017 R3

:発生バージョン    :解決済み、未発生    :未確認

詳細

可変長配列 (変数宣言時にサイズを指定しない配列) で配列の境界を超えてアクセスした際に、プロジェクトのコード生成オプションで P コード (PBD) を指定してコンパイルした場合は「配列の境界を超えています」という実行時エラーが発生しアプリケーションが終了しますが、マシンコード (DLL) でコンパイルした場合はエラーが発生せず、処理が続行されます。

回避策

本不具合に関する回避策は以下となります。

  • Pコード (PBD) でコンパイルする
    • マシンコード (DLL) でコンパイルする場合には回避方法はありません。Pコード (PBD) でコンパイルしてください。
バグ情報 一覧を見る
PowerBuilder マイグレーション
PowerBuilder学習、動画で始めちゃう?