Vine Linux バグトラッキングシステム - Vine Linux | |||||
課題の詳細を表示 | |||||
ID | プロジェクト | カテゴリ | 公開 | 登録日 | 最終更新 |
0000686 | Vine Linux | 1 バグ | 公開 | 2009-04-18 11:24 | 2009-05-05 04:11 |
報告者 | anonymous | ||||
担当者 | |||||
優先度 | 中 | 再現性 | 不明 | ||
状態 | 完了 | 解決状況 | 不明 | ||
バージョン | VineSeed | ||||
修正予定バージョン | 修正済バージョン | ||||
arch | x86, x86_64 | ||||
パッケージ | radvd-1.0-2vl5 | ||||
概要 | 0000686: radvdのlog.cでsegfault | ||||
説明 | radvd-1.0-2vl5のlog.cにおいて、 特定の条件下でva_listを複数回使用することがあり、 segfaultを引き起こします。 upstreamは未確認、以下修正例 --- rpm/BUILD/radvd-1.0/log.c 2006-10-09 15:15:32.000000000 +0900 +++ log.c 2009-04-18 11:08:40.000000000 +0900 @@ -72,15 +72,15 @@ struct tm *tm; time_t current; + vsnprintf(buff, sizeof(buff), format, ap ); + switch (log_method) { case L_NONE: break; case L_SYSLOG: - vsnprintf(buff, sizeof(buff), format, ap); syslog(prio, "%s", buff); break; case L_STDERR_SYSLOG: - vsnprintf(buff, sizeof(buff), format, ap); syslog(prio, "%s", buff); if (prio > LOG_ERR) /* fall through for messages with high priority */ break; @@ -89,9 +89,7 @@ tm = localtime(¤t); (void) strftime(tstamp, sizeof(tstamp), LOG_TIME_FORMAT, tm); - fprintf(stderr, "[%s] %s: ", tstamp, log_ident); - vfprintf(stderr, format, ap); - fputs("\n", stderr); + fprintf(stderr, "[%s] %s: %s\n", tstamp, log_ident, buff); fflush(stderr); break; case L_LOGFILE: @@ -99,9 +97,7 @@ tm = localtime(¤t); (void) strftime(tstamp, sizeof(tstamp), LOG_TIME_FORMAT, tm); - fprintf(log_file_fd, "[%s] %s: ", tstamp, log_ident); - vfprintf(log_file_fd, format, ap); - fputs("\n", log_file_fd); + fprintf(log_file_fd, "[%s] %s: %s\n", tstamp, log_ident, buff); fflush(log_file_fd); break; default: | ||||
再現方法 | |||||
追加情報 | |||||
タグ | 設定されていません。 | ||||
関連 | |||||
添付ファイル | |||||
課題の履歴 | |||||
変更日 | ユーザー名 | 項目 | 変更内容 | ||
2009-04-18 11:24 | anonymous | 新規課題 | |||
2009-05-05 04:11 | daisuke | 状態 | 新規 => 完了 | ||
2009-05-05 04:11 | daisuke | コメント追加: 0003085 |
コメント | |||||
|
|||||
|
|