[sylpheed-jp:11069] Re: Sylpheed 3.1 リリーススケジュール

Hiroyuki Yamamoto hiro-y @ kcn.ne.jp
2011年 1月 24日 (月) 10:35:43 JST


山本です。

On Fri, 21 Jan 2011 22:28:38 +0900
tomcat <m-list @ tomcat.nyanta.jp> wrote:

> PCLinuxOS ユーザの tomcat と申します。
> beta7 を PCLinuxOS 上でビルドしてみたところ、下記のエラーが出て make
> が完走できませんでした。
> 
> -----------------------------------------------------------
> summaryview.c: In function ‘summary_select_prev_flagged’:
> summaryview.c:1526: error: フォーマットは非文字列リテラルで、且つ
> フォーマット引数を持ちません summaryview.c: In function
> ‘summary_select_next_flagged’: summaryview.c:1572: error: フォーマット
> は非文字列リテラルで、且つフォーマット引数を持ちません summaryview.c:
> In function ‘summary_write_cache’: summaryview.c:2697: error: フォー
> マットは非文字列リテラルで、且つフォーマット引数を持ちません make[4]:
> *** [summaryview.o] エラー 1
> -----------------------------------------------------------

こちらの環境では上記箇所は warning になるものの、エラーにはなりません
でした。

gcc のバージョンによってはエラー扱いになるか、 -Werror が指定されて
いたりしますでしょうか。

上記の部分では大丈夫ですが、場合によっては(外部の入力をそのまま渡すなど)
セキュリティホールになりかねない書き方なので、修正します。

> そこでエラーの出た summaryview.c の3行を下記の様に修正してみたところ、
> 今度は無事に make が完走できました。
> 
> 1526行  alertpanel_notice(notice, NULL);
> 1572行  alertpanel_notice(notice, NULL);
> 2697行  debug_print(buf, NULL);
> 
> この修正方法で正しいのかどうかは判りませんが、一応ご報告させて頂きま
> す。

正しくは以下のように修正します。

alertpanel_notice("%s", notice);

-- 
Hiroyuki Yamamoto <hiro-y @ kcn.ne.jp>


Sylpheed-jp メーリングリストの案内