diff options
| author | Alexander Barton <alex@barton.de> | 2005-01-18 09:05:37 +0000 |
|---|---|---|
| committer | Alexander Barton <alex@barton.de> | 2005-01-18 09:05:37 +0000 |
| commit | 6c5f4beb53d5e37fefe017cf28c513c44cfda1af (patch) | |
| tree | 31cef46aedf74dbe93622d0c045709b43bb35be3 | |
| parent | 26b0ddf200690284feea19cec47e092641b62b6d (diff) | |
| download | ngircd-6c5f4beb53d5e37fefe017cf28c513c44cfda1af.tar.gz ngircd-6c5f4beb53d5e37fefe017cf28c513c44cfda1af.zip | |
Fixed return values of our own implementation of strlcpy(). The code has
been taken from rsync and they fixed it, but we didn't until today :-/
| -rw-r--r-- | ChangeLog | 6 | ||||
| -rw-r--r-- | src/portab/strlcpy.c | 7 |
2 files changed, 9 insertions, 4 deletions
diff --git a/ChangeLog b/ChangeLog index 1c9de511..6e24d3b6 100644 --- a/ChangeLog +++ b/ChangeLog @@ -12,6 +12,10 @@ ngIRCd CVSHEAD + - Fixed return values of our own implementation of strlcpy(). The code has + been taken from rsync and they fixed it, but we didn't until today :-/ + It has only been used when the system didn't implement strlcpy by itself, + not on "modern" systems. Florian Westphal, <westphal@foo.fh-furtwangen.de>. - Raised the maximum length of passwords to 20 characters. - Fixed a memory leak when resizing the connection pool and realloc() failed. Now we don't fall back to malloc(), which should be sane anyway. @@ -557,4 +561,4 @@ ngIRCd 0.0.1, 31.12.2001 -- -$Id: ChangeLog,v 1.250 2005/01/17 13:01:34 alex Exp $ +$Id: ChangeLog,v 1.251 2005/01/18 09:05:37 alex Exp $ diff --git a/src/portab/strlcpy.c b/src/portab/strlcpy.c index f77527a0..627b3218 100644 --- a/src/portab/strlcpy.c +++ b/src/portab/strlcpy.c @@ -19,7 +19,7 @@ #include "portab.h" -static char UNUSED id[] = "$Id: strlcpy.c,v 1.2 2002/12/26 14:34:11 alex Exp $"; +static char UNUSED id[] = "$Id: strlcpy.c,v 1.3 2005/01/18 09:05:37 alex Exp $"; #include "imp.h" #include <string.h> @@ -61,12 +61,13 @@ strlcpy( CHAR *dst, CONST CHAR *src, size_t size ) * always null terminates. */ size_t len = strlen( src ); + size_t ret = len; - if( size <= 0 ) return len; + if( size <= 0 ) return 0; if( len >= size ) len = size - 1; memcpy( dst, src, len ); dst[len] = 0; - return len; + return ret; } /* strlcpy */ #endif |