I've spotted a problem with 'onion_websocket_write'. This function will used it's argument 'va_list args' twice, but the pointer in the second call will be wrong.
I've found a similar function structure in 'onion_response_vprintf' and copied the solution (va_copy) given there.
The remove of '-1' in the first vsnprintf-call is also adapted from there.
The first commit of this pull request resolves the issue and the problem noted in #275.
The second commit just contains changes to trigger the bug with the example application websocket.c
Other double usages of va_list was not found in 'onion/src'.
Hello Mr. Moreno,
I've spotted a problem with 'onion_websocket_write'. This function will used it's argument 'va_list args' twice, but the pointer in the second call will be wrong. I've found a similar function structure in 'onion_response_vprintf' and copied the solution (va_copy) given there. The remove of '-1' in the first vsnprintf-call is also adapted from there.
The first commit of this pull request resolves the issue and the problem noted in #275. The second commit just contains changes to trigger the bug with the example application websocket.c
Other double usages of va_list was not found in 'onion/src'.
Regards Olaf Schulz