]> arthur.barton.de Git - netatalk.git/commitdiff
Fix stupid free. Still banging my head against the table! Praise valgrind.
authorfranklahm <franklahm>
Fri, 8 May 2009 12:26:44 +0000 (12:26 +0000)
committerfranklahm <franklahm>
Fri, 8 May 2009 12:26:44 +0000 (12:26 +0000)
include/atalk/logger.h
libatalk/util/logger.c

index f17f646bb170a8cf8d37ce905b32efa1bde0d4d7..abe7f96c965e58e18f4f4dd36198c5f2d7325584 100644 (file)
@@ -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, 
index ec064b2cd61e0fcd303223cd349f4434f61ed512..dbeede2f4113dc6141ae38de432d1bd744074ef9 100644 (file)
@@ -108,7 +108,7 @@ static const int num_loglevel_strings = COUNT_ARRAY(arr_loglevel_strings);
  */
 
   /* -[un]setuplog <logtype> <loglevel> [<filename>]*/
-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)