فهرست منبع

db_mongodb: clone bson UTF8 value into DB val structure

- the bson iterator invalidates or reuses the memory after several interations
- initial patch by Konstantin Poliakov <[email protected]>, GH #1508
Daniel-Constantin Mierla 7 سال پیش
والد
کامیت
1ef70d6859
1فایلهای تغییر یافته به همراه7 افزوده شده و 1 حذف شده
  1. 7 1
      src/modules/db_mongodb/mongodb_dbase.c

+ 7 - 1
src/modules/db_mongodb/mongodb_dbase.c

@@ -632,7 +632,13 @@ static int db_mongodb_convert_bson(const db1_con_t* _h, db1_res_t* _r,
 				break;
 
 			case BSON_TYPE_UTF8:
-				VAL_STRING(dval) = (char*)bson_iter_utf8 (piter, &i32tmp);
+				{
+					char* rstring = (char*)bson_iter_utf8 (piter, &i32tmp);
+					if(db_str2val(DB1_STRING, dval, rstring, i32tmp, 1)<0) {
+						LM_ERR("failed to convert utf8 value\n");
+						return -5;
+					}
+				}
 				break;
 
 			case BSON_TYPE_OID: