From 56bd869735385182c53b092025a98f75eaa99dfa Mon Sep 17 00:00:00 2001 From: franklahm Date: Fri, 8 May 2009 12:26:44 +0000 Subject: [PATCH] Fix stupid free. Still banging my head against the table! Praise valgrind. --- include/atalk/logger.h | 2 +- libatalk/util/logger.c | 11 ++++++----- 2 files changed, 7 insertions(+), 6 deletions(-) diff --git a/include/atalk/logger.h b/include/atalk/logger.h index f17f646b..abe7f96c 100644 --- a/include/atalk/logger.h +++ b/include/atalk/logger.h @@ -193,7 +193,7 @@ extern int log_src_linenumber; void log_init(void); /* Setup the level and type of log that will be logged for file loggging */ -void log_setup(char *filename, enum loglevels loglevel, enum logtypes logtype); +void log_setup(const char *filename, enum loglevels loglevel, enum logtypes logtype); /* Setup the level and type of log that will be logged to syslog. */ void syslog_setup(int loglevel, enum logtypes logtype, diff --git a/libatalk/util/logger.c b/libatalk/util/logger.c index ec064b2c..dbeede2f 100644 --- a/libatalk/util/logger.c +++ b/libatalk/util/logger.c @@ -108,7 +108,7 @@ static const int num_loglevel_strings = COUNT_ARRAY(arr_loglevel_strings); */ /* -[un]setuplog []*/ -static void setuplog_internal(char *logtype, char *loglevel, char *filename) +static void setuplog_internal(const char *logtype, const char *loglevel, const char *filename) { int typenum, levelnum; @@ -250,7 +250,7 @@ void log_init(void) #endif } -void log_setup(char *filename, enum loglevels loglevel, enum logtypes logtype) +void log_setup(const char *filename, enum loglevels loglevel, enum logtypes logtype) { uid_t process_uid; @@ -462,9 +462,10 @@ void make_syslog_entry(enum loglevels loglevel, enum logtypes logtype, char *mes void setuplog(const char *logstr) { - char *ptr, *logtype, *loglevel, *filename; + char *ptr, *ptrbak, *logtype, *loglevel, *filename; ptr = strdup(logstr); - + ptrbak = ptr; + /* logtype */ logtype = ptr; @@ -489,7 +490,7 @@ void setuplog(const char *logstr) /* finally call setuplog, filename can be NULL */ setuplog_internal(logtype, loglevel, filename); - free(ptr); + free(ptrbak); } void unsetuplog(const char *logstr) -- 2.39.2