Sponsored Content
Full Discussion: why so many?
Top Forums Programming why so many? Post 302092081 by jim mcnamara on Friday 6th of October 2006 10:46:53 AM
Old 10-06-2006
I know what causes this - in general. I do not know what the specific "thing" on Solaris is.

The standard library is required to have a strcpy prototype like this (minus the "restrict"):
Code:
char *strcpy(char *, char *)

However, in the runtime, the compiler may have an entry point into the underlying library function which is optimized and does not look look like the prototype. This is totally up to the local implmentors of the compiler.
 
STRCPY(3)						     Linux Programmer's Manual							 STRCPY(3)

NAME
strcpy, strncpy - copy a string SYNOPSIS
#include <string.h> char *strcpy(char *dest, const char *src); char *strncpy(char *dest, const char *src, size_t n); DESCRIPTION
The strcpy() function copies the string pointed to by src (including the terminating `' character) to the array pointed to by dest. The strings may not overlap, and the destination string dest must be large enough to receive the copy. The strncpy() function is similar, except that not more than n bytes of src are copied. Thus, if there is no null byte among the first n bytes of src, the result will not be null-terminated. In the case where the length of src is less than that of n, the remainder of dest will be padded with nulls. RETURN VALUE
The strcpy() and strncpy() functions return a pointer to the destination string dest. BUGS
If the destination string of a strcpy() is not large enough (that is, if the programmer was stupid/lazy, and failed to check the size before copying) then anything might happen. Overflowing fixed length strings is a favourite cracker technique. CONFORMING TO
SVID 3, POSIX, BSD 4.3, ISO 9899 SEE ALSO
bcopy(3), memccpy(3), memcpy(3), memmove(3) GNU
1993-04-11 STRCPY(3)
All times are GMT -4. The time now is 11:19 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy