From f1638e0803739db8200046eb13ca8ee74a3b4d37 Mon Sep 17 00:00:00 2001
From: maxgerhardt <maximilian.gerhardt@rub.de>
Date: Sun, 18 Jun 2023 11:00:56 +0200
Subject: [PATCH] Fix critical parsing issue on Linux due to getopts()
 reordering argv

---
 minichlink/minichlink.c   |   3 ++-
 minichlink/minichlink.exe | Bin 71680 -> 71680 bytes
 2 files changed, 2 insertions(+), 1 deletion(-)

diff --git a/minichlink/minichlink.c b/minichlink/minichlink.c
index 6636927..2bb7a04 100644
--- a/minichlink/minichlink.c
+++ b/minichlink/minichlink.c
@@ -70,7 +70,8 @@ void parse_possible_init_hints(int argc, char **argv, init_hints_t *hints)
 	int c;
 	opterr = 0;
 	/* we're only interested in the value for the COM port, given in a -c parameter */
-	while ((c = getopt(argc, argv, "c:")) != -1)
+	/* the '-' is really important so that getopt does not permutate the argv array and messes up parsing later */
+	while ((c = getopt(argc, argv, "-c:")) != -1)
 	{
 		switch (c)
 		{
diff --git a/minichlink/minichlink.exe b/minichlink/minichlink.exe
index 04692974c75efa7a78c2f956226a31c8c3f24050..a52fdbc65872c0fc70a1facfb7fa9cbe22a35552 100644
GIT binary patch
delta 1109
zcmZwHZAep57zgnCEVFbhDqH4KLg%L2lqn)+eW;<}O4EW;i~L|vWMxJ#ib1(BtEHpt
ziQWh=y3MyiSr<VI!`uhKJ`@R(fmm6w5K2=tBs-mL=VAx?av8t>_J5vpF3i>yV(SXI
zc}<Zu*myl(k*0a_K1~N*xJs|p-f{|p)jsM=s}zK~{&Qj0TJOpi!W7wL=?NET<WN`R
zUVSVa!b<wg!F%*+#Ao{RAW7*7V*qnfgrN<f0-qbJArjL~aj+hXO%CY9uclPEgBy~v
z;UbnK8K6SCn$)WRJzC6hmWYS`!2^?}zDAw@lh<0;e>S35L5GqNt3#z?xy3hb`d_X@
zmpKj;IA}J&3{IOfU{NxpWSoRrENwca*^wNm_bC?%=@}=4e2Z35aj5cevMC*u7%N&~
z43CLhVF+8rVrY<vC;~*G*c=5h*xOtP?{IZX5!}b4Ee(<R#$ccC7a_qVhiO?kDxD?p
z7|Wa%xPl(%VaUZbu0$xnEv_QXy1?QCzT9~_{@@B)P@fmSonEO9J+1^GIP5aQ2>x;D
z;VJ6edtz$YkRx++=~@5MRiT2AZU00^T|jiFu024%;qy)tVy(~iSE+VOBkpK`a-3=1
z4_e&S77u`@+aAFQjBVG^*Ot?6hMic|j+ze%!6Ur=N!w@q?GyC2X~$=b?<mW%v$%l9
zODA+N&E&L|sg~1DeAA(>akFfmZn@Oc#PlPl5178<^fuFOPWzaOoK7&c%NkAmFXjv5
zGcpGiZJp{GIm_X)DfWw0PUo0z<n%Yw<(w`s{W10L!4-+YTOXA*xS-5lnF9+FO!25|
z7Fp3<E?dTmE^!*p^f;%PO!skmgXuO-XPFvg4GpZ4h(jJN6iVMcufrf&>gyg*O177m
NH`6~6DRf~W<}XVM;OYPX

delta 1107
zcmZwHT}V@57zgn4471c0rL4>*;Xa)+rif^DQ6tHfsRWq{dErHoDH45XNij1<nl6&3
z$e=vvHgyh6I|y1K>Mo+XD3T1LkTl|ykYAZ)=IPz`4tt@S!}$HT|MR@>fmL^hRCkBm
ztd)HoYP_B!yH(ZmE=3CuaDz^*Zgg;*rEW}2so*%<;Q27iRqwh1ZbsT}?hEHgWLI3k
zBf2;!#tQP>k4@xhz(=|&cqpXmKL9KUQHFMaa(tX{5jJD0Q3VPtFxtV5pN+|I8>165
z;4&5^8lYUbme?-?Et*X#bL2hW;Nhuau~F;$<h9ra&qeji$WUq2VwbO{xmg@H{x1(l
zr%45XPfZ4x!&y@rEDMIDv~sAy;^xyamL2|jG2)LT^^HrC^hGHrVwY#(RC6kXV;paR
z_jrom4bQNRFMxVM;(35*<Xg6a68l?@!du+fnh#BQvbAALc0!;}{3%I+B}YhE8AdpY
zpbJYJX0V~haU2ffCTBe4;4Wu=Oq74|VKHlwj6b%P6x1Km>?K#KL61`pD>&jzfH%0}
z)IkqwU58_9=#UdX$kN|^OIL<+Tt?jl8FdNKl^j_}z9D*NCCO5s;j5D83ZpJ1KpD=r
z6@m)0+cm)9nf5Ly#kdYFd2N{;COCkV9T+pN4;<n39BH5TwNH}UCLNQgahL3?rExBa
zS5MeLbtj`Ps%l2v_{y!YI%&2@wp{JGPxT|Ccd5Q$6sh(y`h+Ua=mgcepeiNbi}^(P
zY>)$r)tw4!Fw11JY5I#~Mi;1VWAr!GHH`kEIz996!680y>tjI;EEr^Oko^m;V3J2+
zU8Y5Mm`p~Ct}q%#wUp6xs(Fmwpt^_Ad8&q>hWc00<8zN1@`P`mmtn#{?{I`*9kQj9
LzYrmGX({$EvvcBX

-- 
GitLab