問題タブ [pclose]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
segmentation-fault - fscanf 後の pclose 時のセグメンテーション違反
ルーターのSIMスイッチングに使用する(ラズベリーのpingコマンドから)失われたパケット数を取得しようとしています。一番下のコードでそれをやろうとしましたが(エラーの原因となる部分に縮小されました)、バッファを解放(pclose)しようとすると、セグメンテーション違反が発生します。私はvalgrindを試しましたが、これを得ました:
0x490FBE0 でのサイズ 4 の無効な読み取り: fclose@@GLIBC_2.4 (iofclose.c:53) アドレス 0x382e3820 はスタック、malloc、または (最近) 解放されていません プロセスはシグナル 11 (SIGSEGV) のデフォルト アクションで終了しますアドレス 0x382E3820 のマップされた領域内にないアクセス
fscanf の使い方が間違っていると思いますが、方法がわかりません (printf の結果が得られ、正しい - 4)。
valgrind - fdopen 後に popen ストリームを閉じることに問題はありますか
奇妙な問題が発生しています。サンプルコードは以下に含まれています
このコードを valgrind で実行すると、popen で割り当てられたメモリがまだ到達可能であるというエラーが表示されます。この警告について心配する必要がありますか? はいの場合、可能な解決策は何ですか?