Project

General

Profile

Actions

Bug #6726

closed

Syslog crashes when the special %m tag (of syslog(3)) is present in the message

Added by ameuret (Arnaud MEURET) over 12 years ago. Updated over 5 years ago.

Status:
Closed
Target version:
-
ruby -v:
ruby 1.9.2p180 (2011-02-18 revision 30909) [i686-linux]
Backport:
[ruby-core:46365]

Description

The %m special escape sequence supported by the syslog(3) system call is claimed by the Ruby doc to be supported by the ::Syslog Ruby class. However the implementation of ::Syslog in ext/syslog/syslog.c:49 (https://github.com/ruby/ruby/blob/trunk/ext/syslog/syslog.c#L49) calls rb_f_sprintf() which does not tolerate the presence of %m in the format string.

A quick dump of a pry session demonstrating the crash:

[1] pry(main)> require 'syslog'
=> true
[2] pry(main)> Syslog.open
=> <#Syslog: opened=true, ident="pry", options=3, facility=8, mask=255>
[3] pry(main)> ::Syslog.info "Hi !%m"
ArgumentError: malformed format string - %m
from (pry):3:in `info

Actions

Also available in: Atom PDF

Like0
Like0Like0Like0Like0Like0