diff --git a/modules/openapi-generator/src/main/resources/C-libcurl/list.c.mustache b/modules/openapi-generator/src/main/resources/C-libcurl/list.c.mustache index 73eee13c24d..13b8b23dc27 100644 --- a/modules/openapi-generator/src/main/resources/C-libcurl/list.c.mustache +++ b/modules/openapi-generator/src/main/resources/C-libcurl/list.c.mustache @@ -88,8 +88,10 @@ void list_iterateThroughListBackward(list_t *list, } void list_free(list_t *list) { - list_iterateThroughListForward(list, listEntry_free, NULL); - free(list); + if(list){ + list_iterateThroughListForward(list, listEntry_free, NULL); + free(list); + } } void list_addElement(list_t *list, void *dataToAddInList) { diff --git a/modules/openapi-generator/src/main/resources/C-libcurl/model-body.mustache b/modules/openapi-generator/src/main/resources/C-libcurl/model-body.mustache index 4f59107267d..63599e4a8b0 100644 --- a/modules/openapi-generator/src/main/resources/C-libcurl/model-body.mustache +++ b/modules/openapi-generator/src/main/resources/C-libcurl/model-body.mustache @@ -205,6 +205,9 @@ char* {{name}}{{classname}}_ToString({{projectName}}_{{classVarName}}_{{enumName void {{classname}}_free({{classname}}_t *{{classname}}) { + if(NULL == {{classname}}){ + return ; + } listEntry_t *listEntry; {{#vars}} {{^isContainer}} diff --git a/samples/client/petstore/c/model/api_response.c b/samples/client/petstore/c/model/api_response.c index c7d728c2f89..9cb2b1ddd8b 100644 --- a/samples/client/petstore/c/model/api_response.c +++ b/samples/client/petstore/c/model/api_response.c @@ -23,6 +23,9 @@ api_response_t *api_response_create( void api_response_free(api_response_t *api_response) { + if(NULL == api_response){ + return ; + } listEntry_t *listEntry; free(api_response->type); free(api_response->message); diff --git a/samples/client/petstore/c/model/category.c b/samples/client/petstore/c/model/category.c index 518ccaee869..8aa29c04227 100644 --- a/samples/client/petstore/c/model/category.c +++ b/samples/client/petstore/c/model/category.c @@ -21,6 +21,9 @@ category_t *category_create( void category_free(category_t *category) { + if(NULL == category){ + return ; + } listEntry_t *listEntry; free(category->name); free(category); diff --git a/samples/client/petstore/c/model/order.c b/samples/client/petstore/c/model/order.c index a9216f78348..fb6367339fd 100644 --- a/samples/client/petstore/c/model/order.c +++ b/samples/client/petstore/c/model/order.c @@ -46,6 +46,9 @@ order_t *order_create( void order_free(order_t *order) { + if(NULL == order){ + return ; + } listEntry_t *listEntry; free(order->ship_date); free(order); diff --git a/samples/client/petstore/c/model/pet.c b/samples/client/petstore/c/model/pet.c index 1765e45c176..f2c4b81806e 100644 --- a/samples/client/petstore/c/model/pet.c +++ b/samples/client/petstore/c/model/pet.c @@ -46,6 +46,9 @@ pet_t *pet_create( void pet_free(pet_t *pet) { + if(NULL == pet){ + return ; + } listEntry_t *listEntry; category_free(pet->category); free(pet->name); diff --git a/samples/client/petstore/c/model/tag.c b/samples/client/petstore/c/model/tag.c index 63450378b9f..cbfba498ace 100644 --- a/samples/client/petstore/c/model/tag.c +++ b/samples/client/petstore/c/model/tag.c @@ -21,6 +21,9 @@ tag_t *tag_create( void tag_free(tag_t *tag) { + if(NULL == tag){ + return ; + } listEntry_t *listEntry; free(tag->name); free(tag); diff --git a/samples/client/petstore/c/model/user.c b/samples/client/petstore/c/model/user.c index be2ca8b297c..da6846cc3db 100644 --- a/samples/client/petstore/c/model/user.c +++ b/samples/client/petstore/c/model/user.c @@ -33,6 +33,9 @@ user_t *user_create( void user_free(user_t *user) { + if(NULL == user){ + return ; + } listEntry_t *listEntry; free(user->username); free(user->first_name); diff --git a/samples/client/petstore/c/src/list.c b/samples/client/petstore/c/src/list.c index 73eee13c24d..13b8b23dc27 100644 --- a/samples/client/petstore/c/src/list.c +++ b/samples/client/petstore/c/src/list.c @@ -88,8 +88,10 @@ void list_iterateThroughListBackward(list_t *list, } void list_free(list_t *list) { - list_iterateThroughListForward(list, listEntry_free, NULL); - free(list); + if(list){ + list_iterateThroughListForward(list, listEntry_free, NULL); + free(list); + } } void list_addElement(list_t *list, void *dataToAddInList) {