Document why syslog($priority, "%s", $message) is a good idea
Gisle Aas [Tue, 6 Dec 2005 14:45:30 +0000 (14:45 +0000)]
if the code might be running with older versions of Sys::Syslog.

p4raw-id: //depot/perl@26277

ext/Sys/Syslog/Syslog.pm

index d06ac17..56cf18a 100644 (file)
@@ -77,6 +77,14 @@ If you didn't use openlog() before using syslog(), syslog will try to
 guess the I<$ident> by extracting the shortest prefix of I<$format>
 that ends in a ":".
 
+Note that Sys::Syslog version v0.07 and older passed the $message as
+the formatting string to sprintf() even when no formatting arguments
+where provided.  If the code calling syslog() might execute with older
+versions of this module, make sure to call the function as
+syslog($priority, "%s", $message) instead of syslog($priority,
+$message).  This protects against hostile formatting sequences that
+might show up if $message contains tainted data.
+
 =item setlogmask $mask_priority
 
 Sets log mask I<$mask_priority> and returns the old mask.