diff --git a/src/libstrongswan/credentials/builder.c b/src/libstrongswan/credentials/builder.c index c4f3d4fa7..4295b3094 100644 --- a/src/libstrongswan/credentials/builder.c +++ b/src/libstrongswan/credentials/builder.c @@ -37,3 +37,12 @@ ENUM(builder_part_names, BUILD_FROM_FILE, BUILD_END, "BUILD_X509_FLAG", "BUILD_END", ); + +/** + * See header. + */ +void* builder_free(builder_t *this) +{ + free(this); + return NULL; +} diff --git a/src/libstrongswan/credentials/builder.h b/src/libstrongswan/credentials/builder.h index 8e0c513c6..cd75236ba 100644 --- a/src/libstrongswan/credentials/builder.h +++ b/src/libstrongswan/credentials/builder.h @@ -118,6 +118,11 @@ struct builder_t { * Helper macro to cancel a build in a builder */ #define builder_cancel(builder) { (builder)->add = (void*)nop; \ - (builder)->build = (void*)free; } + (builder)->build = (void*)builder_free; } + +/** + * Helper function for a cancelled build. + */ +void* builder_free(builder_t *this); #endif /* BUILDER_H_ @}*/