問題タブ [splint]

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.

0 投票する
0 に答える
410 参照

c - Splint 静的コード分析のセグメンテーション違反

こんにちは、私が書いたac cqdeプロジェクトで静的分析をしようとしていますが、スプリントでエラーが発生します

どこから始めればいいのかわからないのですが、何か提案はありますか? 基本的に、このプロジェクト内のすべてのファイルがこのエラーを返します

0 投票する
2 に答える
237 参照

debian - .splintrc プリプロセッサ ディレクティブ -D の空白

splintDebian の安定した環境内で、いくつかのソースを実行したいと考えています。
プリプロセッサ ディレクティブを指定-DUINT16_T='unsigned short'する必要があり、非常に頻繁に必要になります。ファイル内に配置したいと思い.splintrcます。
コマンドラインから実行するsplint -DUINT16_T='unsigned short' mysource.cとうまくいきます。この行を私の.splintrcファイルに移動する場合

splint呼び出しの結果

誰にも解決策はありますか?(別名なしでお願いします)。

さらなる議論のために、私は mnwe (minimal not working example) を提供しますhello.c。これは役立つかもしれません:

コマンドgcc -DUINT16_T='unsigned short' hello.cは正常に実行されます-splint -DUINT16_T='unsigned short' hello.cもちろん、どちらも主張します

しかし、繰り返しになりますが、この DEFINE を my に含めるにはどうすればよい.splintrcですか?

0 投票する
1 に答える
151 参照

c - Splint: strcpy() からの新しい新しいストレージ?

私はスプリントを学び、よりよく理解しようとしていますが、このコードから得られるエラーについて疑問に思っています:

エラーは次のとおりです。

copy戻り値を捨てるのではなく、割り当てる正しい解決策はありますか(警告を取り除きます)?

0 投票する
1 に答える
347 参照

c - スプリントの面白いエラー メッセージ

私はsplintCコードを実行していますが、次のステートメントが表示されました。

スプリントがfreeメモリを割り当てる前にメモリを要求していることは理解していますcallocが、これはアプリケーションのまさに初期化であるため、心配する必要がありますか?

編集:これは vm->jumptable が初期化される方法です

0 投票する
1 に答える
1099 参照

c - Linuxでmingwを使用してスプリントを使用する方法

splint と mingw がインストールされた状態で、debian linux の実際の安定版を実行しています。splint で C コード (mingw でコンパイルする必要があります) をチェックしたいです。mingw-includes を追加するだけでは実行できません。私はGNUと i686を定義しようとしましたが、もっと必要だと確信しています。さらに何を定義または含める必要がありますか?

ローンからアイデアを試してみた結果、 で問題が発生しました__builtin_va_list

面白いことに、インクルード フォルダーで再帰的な grep を使用しても、not の定義が見つかりません。私は間違って探していますか?それを(ベンジャロビン
から) そのように定義することで、エラーに遭遇しました-D__builtin_va_list=va_list

+trytorecover でも回復できませんでした。

winnt.h (および隣接) からの行は次のとおりです。

奇妙ですね。

このスレッドにはそれ以上の回答が得られないので、この最小限の機能しない例で
動機を 与えます:test.c

と私.splintrc

簡単なコマンドsplint test.cは失敗します:

繰り返しますが、セットアップ方法がわかりません。上記のインクルードはi686-w64-mingw32-gcc、 で正常に実行されるコンパイラの前処理呼び出しの結果test.cです。

0 投票する
1 に答える
1193 参照

c - 引数からメモリポインタを返してスプリントに適用する方法

スプリントを使用する際に問題が発生しました。ここに同様のコードがあります

スプリントは次のような警告メッセージを表示します。

関数 getMem の引数 out については、使用前に NULL ポインターを確認する必要があります。そして、メモリアドレスを返します。注釈 "/ @out@ /" は、関数内で使用されるため、最初の引数の前に置くことはできません。また、"/ @null@ /" は、out が null であり、*out ではないことを示しているだけです。私はそれに対処する方法がわかりません。誰かアドバイスをいただけますか?前もって感謝します。