Yeah, I agree with your opinion, in the branch "if (subshell == 0) ", we have the function "maybe_restore_getopt_state" to free gs; however, in the branch "else", it seems like forget to free "gs", or we don't have to free it?
-- Sent from: http://gnu-bash.2382.n7.nabble.com/