diff options
| author | Florian Westphal <fw@strlen.de> | 2008-02-05 11:46:55 +0000 |
|---|---|---|
| committer | Florian Westphal <fw@strlen.de> | 2008-02-26 23:49:33 +0100 |
| commit | 42db159d26519da751896cbf83bcf0d5def1df59 (patch) | |
| tree | aaeddfe1e436fcaa3835a1b1e7019da1d9f27577 | |
| parent | 59b19ea6a3be3972c6e83e0e362e52b1669d64ef (diff) | |
| download | ngircd-42db159d26519da751896cbf83bcf0d5def1df59.tar.gz ngircd-42db159d26519da751896cbf83bcf0d5def1df59.zip | |
Fix wrong strncpy usage if CVSDATE defined
Hello_User() used strncpy with overlapping src/dest. Use memmove instead.
| -rw-r--r-- | src/ngircd/irc-login.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/src/ngircd/irc-login.c b/src/ngircd/irc-login.c index a095ddc0..1f7038ee 100644 --- a/src/ngircd/irc-login.c +++ b/src/ngircd/irc-login.c @@ -14,7 +14,7 @@ #include "portab.h" -static char UNUSED id[] = "$Id: irc-login.c,v 1.54 2007/11/21 12:16:36 alex Exp $"; +static char UNUSED id[] = "$Id: irc-login.c,v 1.55 2008/02/05 11:46:55 fw Exp $"; #include "imp.h" #include <assert.h> @@ -601,8 +601,8 @@ Hello_User( CLIENT *Client ) /* Version and system type */ #ifdef CVSDATE strlcpy( ver, CVSDATE, sizeof( ver )); - strncpy( ver + 4, ver + 5, 2 ); - strncpy( ver + 6, ver + 8, 3 ); + memmove( ver + 4, ver + 5, 2 ); + memmove( ver + 6, ver + 8, 3 ); snprintf( vertxt, sizeof( vertxt ), "%s(%s)", PACKAGE_VERSION, ver ); if( ! IRC_WriteStrClient( Client, RPL_YOURHOST_MSG, Client_ID( Client ), Client_ID( Client_ThisServer( )), vertxt, TARGET_CPU, TARGET_VENDOR, TARGET_OS )) return false; #else |