From: Florian Westphal Date: Sat, 16 Apr 2005 09:23:01 +0000 (+0000) Subject: use strdup() to add oper hostname mask. X-Git-Tag: rel-0-9-0-pre1~64 X-Git-Url: https://arthur.barton.de/cgi-bin/gitweb.cgi?p=ngircd.git;a=commitdiff_plain;h=77faf14b29caf891c2014b0c8b009c0b60b036cd use strdup() to add oper hostname mask. --- diff --git a/src/ngircd/conf.c b/src/ngircd/conf.c index ef73614f..328bbff0 100644 --- a/src/ngircd/conf.c +++ b/src/ngircd/conf.c @@ -14,7 +14,7 @@ #include "portab.h" -static char UNUSED id[] = "$Id: conf.c,v 1.75 2005/03/22 18:57:08 alex Exp $"; +static char UNUSED id[] = "$Id: conf.c,v 1.76 2005/04/16 09:23:01 fw Exp $"; #include "imp.h" #include @@ -804,7 +804,6 @@ Handle_GLOBAL( int Line, char *Var, char *Arg ) LOCAL void Handle_OPERATOR( int Line, char *Var, char *Arg ) { - unsigned int len; assert( Line > 0 ); assert( Var != NULL ); assert( Arg != NULL ); @@ -825,14 +824,12 @@ Handle_OPERATOR( int Line, char *Var, char *Arg ) if( strcasecmp( Var, "Mask" ) == 0 ) { if (Conf_Oper[Conf_Oper_Count - 1].mask) return; /* Hostname already configured */ - len = strlen( Arg ) + 1; - Conf_Oper[Conf_Oper_Count - 1].mask = malloc( len ); + Conf_Oper[Conf_Oper_Count - 1].mask = strdup( Arg ); if (! Conf_Oper[Conf_Oper_Count - 1].mask) { Config_Error( LOG_ERR, "%s, line %d: Cannot allocate memory for operator mask: %s", NGIRCd_ConfFile, Line, strerror(errno) ); return; } - strlcpy( Conf_Oper[Conf_Oper_Count - 1].mask, Arg, len); return; } Config_Error( LOG_ERR, "%s, line %d (section \"Operator\"): Unknown variable \"%s\"!", NGIRCd_ConfFile, Line, Var ); diff --git a/src/portab/Makefile.am b/src/portab/Makefile.am index 7020462d..06c6bae4 100644 --- a/src/portab/Makefile.am +++ b/src/portab/Makefile.am @@ -9,14 +9,14 @@ # Naehere Informationen entnehmen Sie bitter der Datei COPYING. Eine Liste # der an ngIRCd beteiligten Autoren finden Sie in der Datei AUTHORS. # -# $Id: Makefile.am,v 1.7 2003/01/03 22:04:14 alex Exp $ +# $Id: Makefile.am,v 1.8 2005/04/16 09:23:01 fw Exp $ # AUTOMAKE_OPTIONS = ansi2knr noinst_LIBRARIES = libngportab.a -libngportab_a_SOURCES = strlcpy.c vsnprintf.c +libngportab_a_SOURCES = strlcpy.c strdup.c vsnprintf.c check_PROGRAMS = portabtest diff --git a/src/portab/portab.h b/src/portab/portab.h index 44e7c6c5..5f2ee3d0 100644 --- a/src/portab/portab.h +++ b/src/portab/portab.h @@ -8,7 +8,7 @@ * (at your option) any later version. * Please read the file COPYING, README and AUTHORS for more information. * - * $Id: portab.h,v 1.20 2005/04/09 18:27:16 alex Exp $ + * $Id: portab.h,v 1.21 2005/04/16 09:23:01 fw Exp $ * * Portability functions and declarations (header for libngbportab). */ @@ -147,6 +147,10 @@ extern size_t strlcat PARAMS(( char *dst, const char *src, size_t size )); extern size_t strlcpy PARAMS(( char *dst, const char *src, size_t size )); #endif +#ifndef HAVE_STRDUP +extern char * strdup PARAMS(( const char *s )); +#endif + #ifndef HAVE_VSNPRINTF #include extern int vsnprintf PARAMS(( char *str, size_t count, const char *fmt, va_list args ));