Removing a non-existing service results in a confusing "Memory
allocation problem" error message:

        # ipvsadm -D -t example.org:80
        Memory allocation problem

Check if the given service exists before attempting removal. Inform the
user if the service is not defined.

Signed-off-by: Emanuele Rocca <e...@wikimedia.org>
---
 ipvsadm.c | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/ipvsadm.c b/ipvsadm.c
index 1a28d72..f958b11 100644
--- a/ipvsadm.c
+++ b/ipvsadm.c
@@ -942,6 +942,11 @@ static int process_options(int argc, char **argv, int 
reading_stdin)
                break;
 
        case CMD_DEL:
+               if (!(ipvs_get_service(ce.svc.fwmark, ce.svc.af, 
ce.svc.protocol,
+                                                  ce.svc.addr, ce.svc.port))) {
+                       fprintf(stderr, "No such service\n");
+                       exit(1);
+               }
                result = ipvs_del_service(&ce.svc);
                break;
 
-- 
2.13.3


_______________________________________________
Please read the documentation before posting - it's available at:
http://www.linuxvirtualserver.org/

LinuxVirtualServer.org mailing list - lvs-users@LinuxVirtualServer.org
Send requests to lvs-users-requ...@linuxvirtualserver.org
or go to http://lists.graemef.net/mailman/listinfo/lvs-users

Reply via email to