aboutsummaryrefslogtreecommitdiffstats
path: root/trio/triop.h
diff options
context:
space:
mode:
authorMatthias Andree <matthias.andree@gmx.de>2021-07-07 16:22:57 +0200
committerMatthias Andree <matthias.andree@gmx.de>2021-07-28 18:26:01 +0200
commitc546c8299243a10a7b85c638e0e61396ecd5d8b5 (patch)
treeed9366f66df54cd33f072faae458b1e2cc92e095 /trio/triop.h
parentd2f0bbde20a0e1b1c6ec3cf326ef4035829b392c (diff)
downloadfetchmail-c546c8299243a10a7b85c638e0e61396ecd5d8b5.tar.gz
fetchmail-c546c8299243a10a7b85c638e0e61396ecd5d8b5.tar.bz2
fetchmail-c546c8299243a10a7b85c638e0e61396ecd5d8b5.zip
Fix SIGSEGV when resizing report*() buffer.
Reported (with a different patch suggestion) by Christian Herdtweck <christian.herdtweck@intra2net.com>. Note that vsnprintf() calls va_arg(), and depending on operating system, compiler, configuration, this will invalidate the va_list argument pointer, so that va_start has to be called again before a subsequent vsnprintf(). However, it is better to do away with the loop and the trial-and-error, and leverage the return value of vsnprintf instead for a direct one-off resizing, whilst taking into account that on SUSv2 systems, the return value can be useless if the size argument to vsnprintf is 0.
Diffstat (limited to 'trio/triop.h')
0 files changed, 0 insertions, 0 deletions