XXXXXXXX@XXXXXXXX wrote: 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: == このレポートの詳細は以下の通りです == レポート ID : 686 レポート URL : http://bts.vinelinux.org/guest.cgi?project=VineLinux&action=view_report&id=686 分類 : バグ Vine ver. : Seed 関連パッケージ : radvd-1.0-2vl5 arch : x86, x86_64 状態 : 新規 優先度 : 中 重大度 : 普通 担当者 : 未定 # あなたが、このようなメッセージに無関係である場合には、 # 管理者 <Vine@xxxxxxxxxxxxx> までご連絡ください。 -- Bug Tracking System 影舞 0.8.6. http://www.daifukuya.com/kagemai/