Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
| Message-ID | <4F431A89.7DDD@mindspring.com> (permalink) |
|---|---|
| Date | 2012-02-20 23:16 -0500 |
| From | pete <pfiland@mindspring.com> |
| Organization | PF |
| Newsgroups | comp.lang.c |
| Subject | Re: strncpy and 'n' |
| References | <58d7c42a-7fd9-4507-bbe6-88941700b88a@k6g2000vbz.googlegroups.com> <lnvcn6fyi2.fsf@nuthaus.mib.org> <jhrkl9$g1h$1@reader1.panix.com> <lnboouef7m.fsf@nuthaus.mib.org> <jhujta$m7f$1@dont-email.me> |
Shao Miller wrote:
> My impression is that in:
>
> char foo[] = "foo";
> char bar[3] = "bar";
> char baz[10] = "baz";
>
> each of these could be roughly equivalent to:
>
> char foo[sizeof "foo"];
> char bar[3];
> char baz[10];
>
> strncat(foo, "foo", sizeof "foo");
> strncat(bar, "bar", 3);
> strncat(foo, "baz", 10);
ITYM strncat(baz, "baz", 10);
foo, bar and baz
would each have to be initialized with a null byte
in order to properly use strncat on them like that.
But, even if bar[3] had static duration
and so was initialized with a null byte,
strncat(bar, "bar", 3);
writes 4 characters and overruns the array.
n1570
7.24.3.2 The strncat function
Synopsis
1 #include <string.h>
char *strncat(char * restrict s1,
const char * restrict s2, size_t n);
Description
2 The strncat function appends not more than n characters
(a null character and characters that follow it are not appended)
from the array pointed to by s2 to the end of the string
pointed to by s1.
The initial character of s2 overwrites the null character
at the end of s1.
A terminating null character is always appended to the result.
--
pete
Back to comp.lang.c | Previous | Next — Previous in thread | Next in thread | Find similar | Unroll thread
strncpy and 'n' nroberts <roberts.noah@gmail.com> - 2012-02-16 09:05 -0800
Re: strncpy and 'n' Anders Wegge Keller <wegge@wegge.dk> - 2012-02-16 18:57 +0100
Re: strncpy and 'n' "A. K." <akk@nospam.org> - 2012-02-16 19:27 +0100
Re: strncpy and 'n' Anders Wegge Keller <wegge@wegge.dk> - 2012-02-16 19:34 +0100
Re: strncpy and 'n' "A. K." <akk@nospam.org> - 2012-02-16 20:58 +0100
Re: strncpy and 'n' Keith Thompson <kst-u@mib.org> - 2012-02-16 10:01 -0800
Re: strncpy and 'n' Malcolm McLean <malcolm.mclean5@btinternet.com> - 2012-02-16 11:10 -0800
Re: strncpy and 'n' Keith Thompson <kst-u@mib.org> - 2012-02-16 14:20 -0800
Re: strncpy and 'n' Malcolm McLean <malcolm.mclean5@btinternet.com> - 2012-02-17 04:19 -0800
Re: strncpy and 'n' James Kuyper <jameskuyper@verizon.net> - 2012-02-17 10:04 -0500
Re: strncpy and 'n' Malcolm McLean <malcolm.mclean5@btinternet.com> - 2012-02-17 10:27 -0800
Re: strncpy and 'n' Malcolm McLean <malcolm.mclean5@btinternet.com> - 2012-02-17 11:22 -0800
Re: strncpy and 'n' James Kuyper <jameskuyper@verizon.net> - 2012-02-17 14:40 -0500
Re: strncpy and 'n' Malcolm McLean <malcolm.mclean5@btinternet.com> - 2012-02-18 02:17 -0800
Re: strncpy and 'n' jgk@panix.com (Joe keane) - 2012-02-19 20:04 +0000
Re: strncpy and 'n' Keith Thompson <kst-u@mib.org> - 2012-02-19 12:33 -0800
Re: strncpy and 'n' jgk@panix.com (Joe keane) - 2012-02-20 21:25 +0000
Re: strncpy and 'n' Keith Thompson <kst-u@mib.org> - 2012-02-20 14:46 -0800
Re: strncpy and 'n' Jorgen Grahn <grahn+nntp@snipabacken.se> - 2012-02-23 23:13 +0000
Re: strncpy and 'n' Keith Thompson <kst-u@mib.org> - 2012-02-23 16:20 -0800
Re: strncpy and 'n' Philip Lantz <prl@canterey.us> - 2012-02-25 00:26 -0800
Re: strncpy and 'n' pacman@kosh.dhis.org (Alan Curry) - 2012-02-26 01:34 +0000
Re: strncpy and 'n' Jorgen Grahn <grahn+nntp@snipabacken.se> - 2012-02-28 22:46 +0000
Re: strncpy and 'n' jgk@panix.com (Joe keane) - 2012-03-01 00:03 +0000
Re: strncpy and 'n' Jorgen Grahn <grahn+nntp@snipabacken.se> - 2012-03-01 12:03 +0000
Re: strncpy and 'n' James Kuyper <jameskuyper@verizon.net> - 2012-02-20 17:51 -0500
Re: strncpy and 'n' Shao Miller <sha0.miller@gmail.com> - 2012-02-20 18:14 -0500
Re: strncpy and 'n' pete <pfiland@mindspring.com> - 2012-02-20 23:16 -0500
Re: strncpy and 'n' Shao Miller <sha0.miller@gmail.com> - 2012-02-25 01:51 -0500
Re: strncpy and 'n' pete <pfiland@mindspring.com> - 2012-02-25 10:34 -0500
Re: strncpy and 'n' Rich Webb <bbew.ar@mapson.nozirev.ten> - 2012-02-20 19:09 -0500
Re: strncpy and 'n' Keith Thompson <kst-u@mib.org> - 2012-02-20 16:46 -0800
Re: strncpy and 'n' Rich Webb <bbew.ar@mapson.nozirev.ten> - 2012-02-20 20:48 -0500
Re: strncpy and 'n' Shao Miller <sha0.miller@gmail.com> - 2012-02-20 19:46 -0500
Re: strncpy and 'n' jgk@panix.com (Joe keane) - 2012-02-21 21:46 +0000
Re: strncpy and 'n' James Kuyper <jameskuyper@verizon.net> - 2012-02-21 17:15 -0500
Re: strncpy and 'n' Keith Thompson <kst-u@mib.org> - 2012-02-21 14:29 -0800
Re: strncpy and 'n' Malcolm McLean <malcolm.mclean5@btinternet.com> - 2012-02-22 01:15 -0800
Re: strncpy and 'n' jgk@panix.com (Joe keane) - 2012-02-23 00:02 +0000
Re: strncpy and 'n' Keith Thompson <kst-u@mib.org> - 2012-02-22 17:02 -0800
Re: strncpy and 'n' Markus Schaub <usenet@markus-schaub.de> - 2012-02-16 18:53 +0000
Re: strncpy and 'n' lawrence.jones@siemens.com - 2012-02-16 13:25 -0500
Re: strncpy and 'n' blp@cs.stanford.edu (Ben Pfaff) - 2012-02-16 11:18 -0800
Re: strncpy and 'n' Stephen Sprunk <stephen@sprunk.org> - 2012-02-16 13:29 -0600
Re: strncpy and 'n' Ike Naar <ike@iceland.freeshell.org> - 2012-02-16 22:45 +0000
Re: strncpy and 'n' ImpalerCore <jadill33@gmail.com> - 2012-02-16 11:32 -0800
Re: strncpy and 'n' Nick Keighley <nick_keighley_nospam@hotmail.com> - 2012-02-17 00:50 -0800
csiph-web