public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: Keith Owens <kaos@ocs.com.au>
To: Robert Love <rml@ximian.com>
Cc: Dan Aloni <da-x@gmx.net>, akpm@osdl.org, linux-kernel@vger.kernel.org
Subject: Re: [patch] kernel events layer
Date: Sat, 24 Jul 2004 14:42:41 +1000	[thread overview]
Message-ID: <4956.1090644161@ocs3.ocs.com.au> (raw)
In-Reply-To: Your message of "Fri, 23 Jul 2004 22:47:06 -0400." <1090637226.1830.8.camel@localhost>

On Fri, 23 Jul 2004 22:47:06 -0400, 
Robert Love <rml@ximian.com> wrote:
>On Sat, 2004-07-24 at 00:32 +0300, Dan Aloni wrote:
>
>> IMHO you either should not assume anything about the length of the object 
>> string, _or_ do the complete safe string assembly e.g:
>> 
>>         len += snprintf(buffer, PAGE_SIZE, "From: %s\nSignal: %s\n", 
>>                         object, signal);
>> 
>
>Fair enough.  I guess what we want, exactly, is:
>
> len = snprintf(buffer, PAGE_SIZE, "From: %s\n", object);
> len += snprintf(&buffer[len], PAGE_SIZE - len "Signal: %s\n", signal);
>
>I will add that to the next revision.

man snprintf

  "If the output was truncated due to this limit then the return value
  is the number of characters (not including the trailing '\0') which
  would have been written to the final string if enough space had been
  available. Thus, a return value of size or more means that the output
  was truncated".

Never use the return value from snprintf to work out the next buffer
position, it is not reliable when the data is truncated.  The example
above uses a second call to snprintf which will generate a warning for
truncated data and fail safe, but not all code is that trustworthy.  I
always use strlen to get the real buffer length.

  snprintf(buffer, PAGE_SIZE, "From: %s\n", object);
  len = strlen(buffer);
  snprintf(buffer+len, PAGE_SIZE - len, "Signal: %s\n", signal);


  reply	other threads:[~2004-07-24  4:42 UTC|newest]

Thread overview: 56+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2004-07-23 17:41 [patch] kernel events layer Robert Love
2004-07-23 18:25 ` Tim Hockin
2004-07-23 18:31 ` Muli Ben-Yehuda
2004-07-23 18:35   ` Robert Love
2004-07-23 21:32 ` Dan Aloni
2004-07-24  2:47   ` Robert Love
2004-07-24  4:42     ` Keith Owens [this message]
2004-07-24  5:00       ` Robert Love
2004-07-24  8:11         ` Andrew Morton
2004-07-24  5:37           ` Robert Love
2004-07-24  6:02             ` Robert Love
2004-07-24  9:43               ` Wichert Akkerman
2004-07-24 20:21               ` James Morris
2004-07-25  2:12                 ` Robert Love
2004-07-24  6:53       ` Paul Jackson
2004-07-24 11:37       ` Bernd Petrovitsch
2004-07-24  3:02 ` Michael Clark
2004-07-24  3:14   ` Robert Love
2004-07-24  9:15     ` Michael Clark
2004-07-24 15:08     ` Deepak Saxena
2004-07-24 15:45       ` Robert Love
2004-07-24 17:33         ` Ryan Anderson
2004-07-24 17:46         ` Tim Hockin
2004-07-24 18:19           ` Robert Love
2004-07-25 18:11             ` Tim Hockin
2004-07-25 19:08               ` Robert Love
2004-07-27  5:09                 ` Daniel Stekloff
2004-07-24 17:54         ` Deepak Saxena
2004-07-24 18:13           ` Robert Love
2004-07-26 20:08             ` Rutger Nijlunsing
2004-07-26 20:10               ` Robert Love
2004-08-09 13:29     ` Pavel Machek
2004-08-09 19:47       ` Robert Love
2004-07-24  3:03 ` Andrew Morton
2004-07-24  2:14   ` Robert Love
2004-07-24  5:15     ` Chris Wedgwood
2004-07-24  5:41       ` Robert Love
2004-07-24  5:45         ` Chris Wedgwood
2004-07-24  3:11   ` [patch] kernel events layer, updated Robert Love
2004-07-24  7:58     ` Deepak Saxena
2004-07-24  8:23       ` Deepak Saxena
  -- strict thread matches above, loose matches on Subject: below --
2004-07-26  6:04 [patch] kernel events layer Perez-Gonzalez, Inaky
2004-07-26  6:09 ` Andrew Morton
2004-07-26 23:00   ` Matt Mackall
2004-07-26  7:31 Perez-Gonzalez, Inaky
2004-07-26 14:50 ` Robert Love
2004-07-26 16:12   ` Greg KH
2004-07-26 18:13     ` Oliver Neukum
2004-07-26 18:15       ` Robert Love
2004-07-26 19:03       ` Greg KH
2004-07-26 20:44         ` Tim Hockin
2004-07-27 18:15           ` Mike Waychison
2004-07-27 18:35             ` Oliver Neukum
2004-07-27 18:37             ` Tim Hockin
2004-07-26 22:58 Perez-Gonzalez, Inaky
2004-07-27  7:08 ` Deepak Saxena

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=4956.1090644161@ocs3.ocs.com.au \
    --to=kaos@ocs.com.au \
    --cc=akpm@osdl.org \
    --cc=da-x@gmx.net \
    --cc=linux-kernel@vger.kernel.org \
    --cc=rml@ximian.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox