davidmoreno / onion

C library to create simple HTTP servers and Web Applications.
http://www.coralbits.com/libonion/
Other
2.01k stars 250 forks source link

Bugfix for onion_websocket_vprintf and onion_websocket_write #276

Open YggdrasiI opened 3 years ago

YggdrasiI commented 3 years ago

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

davidmoreno commented 3 years ago

Hi,

thanks a lot. I had no time to review it yet. As soon as I review it I will tell you something.