Browse Source

srdb1: fix memory leak in db-id

- When getting an existing connection from the pool, free the newly
  created db-id as the pool connection already has a reference to the
  existing one.  Fixes FS#436
(cherry picked from commit 69de17d3bb1d032f9a41752362194d718336e20d)

(cherry picked from commit 94ebfb5d5973ed59de84ca0e0c87052b4c80f9de)
Torrey Searle 11 years ago
parent
commit
633a7589f0
1 changed files with 2 additions and 0 deletions
  1. 2 0
      lib/srdb1/db.c

+ 2 - 0
lib/srdb1/db.c

@@ -325,6 +325,8 @@ db1_con_t* db_do_init2(const str* url, void* (*new_connection)(), db_pooling_t p
 		pool_insert((struct pool_con*)con);
 	} else {
 		LM_DBG("connection %p found in pool\n", id);
+		free_db_id(id); // free the new id, as we use the pool instead
+		id = 0;
 	}
 
 	res->tail = (unsigned long)con;