It's typical (if not only) use case: while ((value = cgi_param_multiple(name)) != NULL) { // processing here... } will cause endless loop when name is found at the end of the CGI parameter list.