Explorar o código

lib/srdb1: init columns array to 0

- allows proper cleanup if there is an error while filling the items
Daniel-Constantin Mierla %!s(int64=10) %!d(string=hai) anos
pai
achega
e59db798b8
Modificáronse 1 ficheiros con 2 adicións e 0 borrados
  1. 2 0
      lib/srdb1/db_res.c

+ 2 - 0
lib/srdb1/db_res.c

@@ -148,6 +148,7 @@ int db_allocate_columns(db1_res_t* _r, const unsigned int cols)
 		LM_ERR("no private memory left\n");
 		return -1;
 	}
+	memset(RES_NAMES(_r), 0, sizeof(db_key_t) * cols);
 	LM_DBG("allocate %d bytes for result names at %p\n",
 		(int)(sizeof(db_key_t) * cols),
 		RES_NAMES(_r));
@@ -158,6 +159,7 @@ int db_allocate_columns(db1_res_t* _r, const unsigned int cols)
 		pkg_free(RES_NAMES(_r));
 		return -1;
 	}
+	memset(RES_TYPES(_r), 0, sizeof(db_type_t) * cols);
 	LM_DBG("allocate %d bytes for result types at %p\n",
 		(int)(sizeof(db_type_t) * cols),
 		RES_TYPES(_r));