[srvx-commits] CVS: services/src log.c,1.57,1.58
                
                Brought to you by:
                
                    entrope
                    
                
            
            
        
        
        
    | 
      
      
      From: Entrope <en...@us...> - 2003-07-11 03:16:13
      
     | 
| Update of /cvsroot/srvx/services/src
In directory sc8-pr-cvs1:/tmp/cvs-serv4143/src
Modified Files:
	log.c 
Log Message:
fix a minor memory leak when more than one log "cross" is specified
Index: log.c
===================================================================
RCS file: /cvsroot/srvx/services/src/log.c,v
retrieving revision 1.57
retrieving revision 1.58
diff -C2 -r1.57 -r1.58
*** log.c	10 Jul 2003 23:30:02 -0000	1.57
--- log.c	11 Jul 2003 03:16:07 -0000	1.58
***************
*** 346,357 ****
      rd = conf_get_node("logs");
      if (rd && (rd->type == RECDB_OBJECT)) {
-         struct string_list *slist;
-         slist = alloc_string_list(4);
          for (it = dict_first(rd->d.object); it; it = iter_next(it)) {
              if ((sep = strchr(iter_key(it), '.'))) {
                  struct logList logList;
                  char sevset[LOG_NUM_SEVERITIES];
  
                  /* It looks like a <type>.<severity> record.  Try to parse it. */
                  log_parse_cross(iter_key(it), slist, sevset);
                  logList.size = 0;
--- 346,357 ----
      rd = conf_get_node("logs");
      if (rd && (rd->type == RECDB_OBJECT)) {
          for (it = dict_first(rd->d.object); it; it = iter_next(it)) {
              if ((sep = strchr(iter_key(it), '.'))) {
                  struct logList logList;
                  char sevset[LOG_NUM_SEVERITIES];
+                 struct string_list *slist;
  
                  /* It looks like a <type>.<severity> record.  Try to parse it. */
+                 slist = alloc_string_list(4);
                  log_parse_cross(iter_key(it), slist, sevset);
                  logList.size = 0;
***************
*** 365,368 ****
--- 365,369 ----
                  }
                  logList_close(&logList);
+                 free_string_list(slist);
              } else if ((rd2 = iter_data(it))
                         && (rd2->type == RECDB_OBJECT)
***************
*** 373,377 ****
              }
          }
-         free_string_list(slist);
      }
  }
--- 374,377 ----
 |