From 94ca941e06bef157bf0e13251f8ca1471daa9393 Mon Sep 17 00:00:00 2001 From: Kaarle Ritvanen Date: Fri, 27 Aug 2021 14:21:45 +0300 Subject: [PATCH] snmpd: always exit after displaying usage Currently, viewing the help text with -h results in snmpd being started in the background, whereas this does not happen with --help. Similarly, when an error is detected in command line syntax, the help text is displayed but sometimes snmpd gets started anyway, depending on the execution path. This patch makes snmpd consistently terminate whenever the usage function gets called. It also removes the goto statements no longer needed. Upstream-Status: Backport [https://github.com/net-snmp/net-snmp/commit/94ca941e06bef157bf0e13251f8ca1471daa9393] Signed-off-by: Yi Zhao --- agent/snmpd.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/agent/snmpd.c b/agent/snmpd.c index f5aab0af8..90de12d99 100644 --- a/agent/snmpd.c +++ b/agent/snmpd.c @@ -289,6 +289,8 @@ usage(char *prog) " -S d|i|0-7\t\tuse -Ls instead\n" "\n" ); + SOCK_CLEANUP; + exit(1); } static void @@ -494,7 +496,6 @@ main(int argc, char *argv[]) case '-': if (strcasecmp(optarg, "help") == 0) { usage(argv[0]); - goto out; } if (strcasecmp(optarg, "version") == 0) { version(); @@ -783,7 +784,6 @@ main(int argc, char *argv[]) fprintf(stderr, "%s: Illegal argument -X:" "AgentX support not compiled in.\n", argv[0]); usage(argv[0]); - goto out; #endif break; -- 2.25.1