diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/libcharon/plugins/vici/vici_control.c | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/src/libcharon/plugins/vici/vici_control.c b/src/libcharon/plugins/vici/vici_control.c index 83e09d5b7..afee649f7 100644 --- a/src/libcharon/plugins/vici/vici_control.c +++ b/src/libcharon/plugins/vici/vici_control.c @@ -707,12 +707,16 @@ CALLBACK(uninstall, vici_message_t*, } } enumerator->destroy(enumerator); - if (ike && charon->shunts->uninstall(charon->shunts, ike, child)) + if (ike) { + if (charon->shunts->uninstall(charon->shunts, ike, child)) + { + free(ike); + return send_reply(this, NULL); + } free(ike); - return send_reply(this, NULL); + return send_reply(this, "uninstalling policy '%s' failed", child); } - free(ike); } else if (charon->shunts->uninstall(charon->shunts, ike, child)) { |