open() returns -1 on error. The check fd != 0 treated -1 as a valid fd (since -1 != 0 is true), causing devctl(-1, ...) and close(-1) on QNX. Fixed to fd >= 0.
open() returns -1 on error. The check fd != 0 treated -1 as a valid fd (since -1 != 0 is true), causing devctl(-1, ...) and close(-1) on QNX. Fixed to fd >= 0.