@@ -274,22 +274,22 @@ static void throwGSException(griddb::GSException* exception) {
274274 (dataContainerInfo = zend_hash_get_current_data_ex (arrContainerInfo, &posContainerInfo)) != NULL ;
275275 zend_hash_move_forward_ex (arrContainerInfo, &posContainerInfo)) {
276276 if (zend_hash_get_current_key_ex (arrContainerInfo, &key, &index, &posContainerInfo) != HASH_KEY_IS_STRING) {
277- freeArgContainerInfo ($2 );
277+ freeArgContainerInfo (& $2 );
278278 SWIG_exception (E_ERROR, " Expected string as input for key" );
279279 }
280280
281281 name = ZSTR_VAL (key);
282282 if (strcmp (name, " name" ) == 0 ) {
283283 if (Z_TYPE_P (dataContainerInfo) != IS_STRING) {
284- freeArgContainerInfo ($2 );
284+ freeArgContainerInfo (& $2 );
285285 SWIG_exception (E_ERROR, " Expected string as input"
286286 " for name property" );
287287 }
288288 $1 = Z_STRVAL_P (dataContainerInfo);
289289 } else if (strcmp (name, " columnInfoArray" ) == 0 ) {
290290 // Input valid is array only
291291 if (Z_TYPE_P (dataContainerInfo) != IS_ARRAY) {
292- freeArgContainerInfo ($2 );
292+ freeArgContainerInfo (& $2 );
293293 SWIG_exception (E_ERROR, " Expected array as input"
294294 " for columnInfo property" );
295295 }
@@ -298,7 +298,7 @@ static void throwGSException(griddb::GSException* exception) {
298298 int sizeOfColumnInfoArray = zend_hash_num_elements (arrColumnInfoArray);
299299 $3 = sizeOfColumnInfoArray;
300300 if ($3 == 0 ) {
301- freeArgContainerInfo ($2 );
301+ freeArgContainerInfo (& $2 );
302302 SWIG_exception (E_ERROR, " Expected not empty array" );
303303 }
304304 $2 = new GSColumnInfo[$3 ];
@@ -313,15 +313,15 @@ static void throwGSException(griddb::GSException* exception) {
313313 (dataColumnInfoArray = zend_hash_get_current_data_ex (arrColumnInfoArray, &posColumnInfoArray)) != NULL ;
314314 zend_hash_move_forward_ex (arrColumnInfoArray, &posColumnInfoArray)) {
315315 if (Z_TYPE_P (dataColumnInfoArray) != IS_ARRAY) {
316- freeArgContainerInfo ($2 );
316+ freeArgContainerInfo (& $2 );
317317 SWIG_exception (E_ERROR, " Expected array property as"
318318 " ColumnInfo element" );
319319 }
320320 // Fetch the hash table from a zval
321321 arrColumnInfo = Z_ARRVAL_P (dataColumnInfoArray);
322322 int sizeOfColumnInfo = zend_hash_num_elements (arrColumnInfo);
323323 if (sizeOfColumnInfo != 2 ) {
324- freeArgContainerInfo ($2 );
324+ freeArgContainerInfo (& $2 );
325325 SWIG_exception (E_ERROR, " Expected two elements for"
326326 " columnInfo property" );
327327 }
@@ -331,7 +331,7 @@ static void throwGSException(griddb::GSException* exception) {
331331 &posColumnInfo);
332332 if (Z_TYPE_P (columnName = zend_hash_get_current_data_ex (
333333 arrColumnInfo, &posColumnInfo)) != IS_STRING) {
334- freeArgContainerInfo ($2 );
334+ freeArgContainerInfo (& $2 );
335335 SWIG_exception (E_ERROR, " Expected string as column name" );
336336 }
337337
@@ -341,7 +341,7 @@ static void throwGSException(griddb::GSException* exception) {
341341 zend_hash_move_forward_ex (arrColumnInfo, &posColumnInfo);
342342 if (Z_TYPE_P (columnType = zend_hash_get_current_data_ex (
343343 arrColumnInfo, &posColumnInfo)) != IS_LONG) {
344- freeArgContainerInfo ($2 );
344+ freeArgContainerInfo (& $2 );
345345 SWIG_exception (E_ERROR, " Expected an integer as"
346346 " column type" );
347347 }
@@ -350,14 +350,14 @@ static void throwGSException(griddb::GSException* exception) {
350350 }
351351 } else if (strcmp (name, " type" ) == 0 ) {
352352 if (Z_TYPE_P (dataContainerInfo) != IS_LONG) {
353- freeArgContainerInfo ($2 );
353+ freeArgContainerInfo (& $2 );
354354 SWIG_exception (E_ERROR, " Expected integer as input"
355355 " for type property" );
356356 }
357357 $4 = Z_LVAL_P (dataContainerInfo);
358358 } else if (strcmp (name, " rowKey" ) == 0 ) {
359359 if (!checkTypeIsLongBool (dataContainerInfo)) {
360- freeArgContainerInfo ($2 );
360+ freeArgContainerInfo (& $2 );
361361 SWIG_exception (E_ERROR, " Expected boolean as input"
362362 " for rowKey property" );
363363 }
@@ -368,13 +368,13 @@ static void throwGSException(griddb::GSException* exception) {
368368 $descriptor (griddb::ExpirationInfo*),
369369 0 | 0 );
370370 if (!SWIG_IsOK (res)) {
371- freeArgContainerInfo ($2 );
371+ freeArgContainerInfo (& $2 );
372372 SWIG_exception (E_ERROR, " Expected expiration object"
373373 " as input for expiration property" );
374374 }
375375 $6 = (griddb::ExpirationInfo *) expiration;
376376 } else {
377- freeArgContainerInfo ($2 );
377+ freeArgContainerInfo (& $2 );
378378 SWIG_exception (E_ERROR, " Invalid Property" );
379379 }
380380 }
@@ -387,14 +387,15 @@ static void throwGSException(griddb::GSException* exception) {
387387 (const GSChar* name, const GSColumnInfo* props,
388388 int propsCount, GSContainerType type, bool row_key,
389389 griddb::ExpirationInfo* expiration) {
390- freeArgContainerInfo ($2 );
390+ freeArgContainerInfo (& $2 );
391391}
392392
393393%fragment(" freeArgContainerInfo" , " header" ) {
394394// SWIG_exception does not include freearg, so we need this function
395- static void freeArgContainerInfo (const GSColumnInfo* props) {
396- if (props) {
397- delete[] props;
395+ static void freeArgContainerInfo (GSColumnInfo** props) {
396+ if (*props) {
397+ delete[] *props;
398+ *props = NULL ;
398399 }
399400}
400401}
@@ -1169,6 +1170,7 @@ static void convertToAgrregationResultZvalObj(griddb::AggregationResult* aggResu
11691170static void freeArgColumnInfoList (ColumnInfoList* infoList) {
11701171 if (infoList->columnInfo ) {
11711172 delete[] (infoList->columnInfo );
1173+ infoList->columnInfo = NULL ;
11721174 }
11731175}
11741176}
@@ -1263,4 +1265,4 @@ static bool checkTypeIsLongBool(zval* value) {
12631265 SWIG_exception (E_ERROR, " Expected long value as input" );
12641266 }
12651267 $1 = Z_LVAL_P (&$input);
1266- }
1268+ }
0 commit comments