[sr-dev] git:master: db_flatstore: free id pointer if no more space for table name

Daniel-Constantin Mierla miconda at gmail.com
Thu Aug 1 16:01:46 CEST 2013


Module: sip-router
Branch: master
Commit: 6a981d3d922c914054d4c8dc7e672bb6a4ddb5f5
URL:    http://git.sip-router.org/cgi-bin/gitweb.cgi/sip-router/?a=commit;h=6a981d3d922c914054d4c8dc7e672bb6a4ddb5f5

Author: Daniel-Constantin Mierla <miconda at gmail.com>
Committer: Daniel-Constantin Mierla <miconda at gmail.com>
Date:   Thu Aug  1 15:58:59 2013 +0200

db_flatstore: free id pointer if no more space for table name

- related to previus commit on this module
- keep table name null terminated

---

 modules/db_flatstore/km_flat_id.c |    4 +++-
 1 files changed, 3 insertions(+), 1 deletions(-)

diff --git a/modules/db_flatstore/km_flat_id.c b/modules/db_flatstore/km_flat_id.c
index 11f9fbe..99f5a8b 100644
--- a/modules/db_flatstore/km_flat_id.c
+++ b/modules/db_flatstore/km_flat_id.c
@@ -52,9 +52,10 @@ struct flat_id* new_flat_id(char* dir, char* table)
 
 	/* alloc memory for the table name */
 	t_len = strlen(table);
-	t = (char*)pkg_malloc(t_len);
+	t = (char*)pkg_malloc(t_len+1);
 	if (!t) {
 		LM_ERR("no pkg memory left\n");
+		pkg_free(ptr);
 		return 0;
 	}
 	memset(t, 0, t_len);
@@ -62,6 +63,7 @@ struct flat_id* new_flat_id(char* dir, char* table)
 	ptr->dir.s = dir;
 	ptr->dir.len = strlen(dir);
 	memcpy(t, table, t_len);
+	t[t_len] = '\0';
 	ptr->table.s = t;
 	ptr->table.len = t_len;
 




More information about the sr-dev mailing list