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);
next prev parent 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