dinhvh / libetpan

Mail Framework for C Language
www.etpan.org
Other
612 stars 284 forks source link

Prevent a FD_SET undefined behavior #427

Open okft opened 1 year ago

okft commented 1 year ago

I'm developing a program that sends e-mails using libetpan and that connects to several servers using libcurl.

It was crashing after a certain amount of time and I painfully debugged it : I was leaking curl handles, leaving open many connections. In fact, I was hitting a runtime check (__fdelt_chk glibc function) as soon as libetpan was trying to use FD_SET with a socket descriptor above FD_SETSIZE.

This merge request is about preventing an undefined behavior that may be triggered by other users. I'm also changing optimization level to none because debugging with "optimized out" function parameters and return values is quite challenging.