boundarydevices / imx_usb_loader

USB & UART loader for i.MX5/6/7/8 series
GNU Lesser General Public License v2.1
260 stars 158 forks source link

imx_uart: fix option parsing on ARM and other unsigned-char systems #123

Open anssih opened 2 years ago

anssih commented 2 years ago

imx_uart assigns the return value of getopt_long() to a char variable.

On systems that default to unsigned char (e.g. arm, aarch64, powerpc, s390) this causes the termination return value -1 to be read as 0xff and the option parsing loop never terminates, causing the program to get immediately stuck.

Fix that by using an int which is the actual return type of getopt_long().

imx_usb already correctly uses int.

Fixes #116.

Signed-off-by: Anssi Hannula anssi.hannula@bitwise.fi