From 86241cb56cd4e0711807c3471484e32276848705 Mon Sep 17 00:00:00 2001
From: bol-van <k@vodka.home.kg>
Date: Sun, 11 Apr 2021 18:53:47 +0300
Subject: [PATCH] nfqws: prohibit extra modes in --dpi-desync

---
 nfq/nfqws.c | 8 ++++++++
 1 file changed, 8 insertions(+)

diff --git a/nfq/nfqws.c b/nfq/nfqws.c
index a22223a..5d98613 100644
--- a/nfq/nfqws.c
+++ b/nfq/nfqws.c
@@ -712,9 +712,12 @@ int main(int argc, char **argv)
 				{
 					mode = mode2;
 					mode2 = mode3;
+					mode3 = NULL;
 				}
 				else
+				{
 					params.desync_mode0 = DESYNC_NONE;
+				}
 				params.desync_mode = desync_mode_from_string(mode);
 				params.desync_mode2 = desync_mode_from_string(mode2);
 				if (params.desync_mode0==DESYNC_INVALID || params.desync_mode==DESYNC_INVALID || params.desync_mode2==DESYNC_INVALID)
@@ -722,6 +725,11 @@ int main(int argc, char **argv)
 					fprintf(stderr, "invalid dpi-desync mode\n");
 					exit_clean(1);
 				}
+				if (mode3)
+				{
+					fprintf(stderr, "invalid desync combo : %s+%s+%s\n",mode,mode2,mode3);
+					exit_clean(1);
+				}
 				if (params.desync_mode2 && !(desync_valid_first_stage(params.desync_mode) && desync_valid_second_stage(params.desync_mode2)))
 				{
 					fprintf(stderr, "invalid desync combo : %s+%s\n", mode,mode2);