FC2ブログ

環境依存文字その後

VineLinux4.2でKDE環境で動作しているアプリで
突然アプリが終了してしまう不具合の調査結果です。

プログラムを解析したところ、シフトJIS(Windowsなどで使用のコード)からEUCコード(unix系)へ変換するライブラリの不具合でした。

環境依存文字でも第3水準文字は、表示されないけどプログラムが終了することはないのですが
IBM漢字コードが複数あるときのみ起こります。

IBM漢字コードはWindowsでは入力できませんが、お客様の医療情報システムがIBMのため、患者情報にIBM漢字コードが含まれてしまうようです。

第3水準漢字もIBM漢字もVineLinuxでは表示できないのですが、プログラムが終了するのは問題です。


自動変数で確保したカウンタをカウントアップしなくてはいけないのに、カウンタのアドレスを+1してしまっていたため、スタック領域を不正にアクセスしてしまい終了していました。

誤り)
   h_buf[*h_count++] = c2;
   h_buf[*h_count++] = c1;

訂正)
h_buf[(*h_count)++] = c2;
h_buf[(*h_count)++] = c1;

これでIBM漢字が複数あるときでも終了しなくなりました。
イリーガルな処理のためテストしていなかったと思われます。
スポンサーサイト



テーマ : ソフトウェア
ジャンル : コンピュータ

コメント

非公開コメント

プロフィール

はやっち

Author:はやっち
FC2ブログへようこそ!

最新記事
最新コメント
最新トラックバック
月別アーカイブ
カテゴリ
大宮アルディージャ
ファンくる
リエナ販売館
リエナ販売館
エアアロマ aromax販売館
エアアロマ aromax販売館
楽天売れ筋商品
amazon
RSSリンクの表示
FC2カウンター
カレンダー
09 | 2019/10 | 11
- - 1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31 - -
FC2ブログランキング

FC2Blog Ranking

にほんブログ村に参加しています
リンク
FC2アフィリエイト
父の日・ギフト・花束・母の日
ブロとも申請フォーム

この人とブロともになる

楽天ショップ
Amazon人気商品
楽天ぴたっとアド
コカコーラ