about summary refs log tree commit diff
diff options
context:
space:
mode:
authorFlorian Westphal <fw@strlen.de>2005-04-16 09:23:01 +0000
committerFlorian Westphal <fw@strlen.de>2005-04-16 09:23:01 +0000
commit77faf14b29caf891c2014b0c8b009c0b60b036cd (patch)
tree51f910f38c3c37ed686fd8b1c908fc2707d7e120
parent8b17579e608f60bb48094756107c7e500499ac5f (diff)
downloadngircd-77faf14b29caf891c2014b0c8b009c0b60b036cd.tar.gz
ngircd-77faf14b29caf891c2014b0c8b009c0b60b036cd.zip
use strdup() to add oper hostname mask.
-rw-r--r--src/ngircd/conf.c7
-rw-r--r--src/portab/Makefile.am4
-rw-r--r--src/portab/portab.h6
3 files changed, 9 insertions, 8 deletions
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 <assert.h>
@@ -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 <stdarg.h>
 extern int vsnprintf PARAMS(( char *str, size_t count, const char *fmt, va_list args ));