Re: [xml] reproducible coredump libxml2-2.3.8, trio or libxml or both



xml thewrittenword com wrote:

And what does C89 say? I wouldn't assume that a system needing
trio_vsnprintf has a C99-compliant compiler.

First, trio does not assume a C99 compliant compiler -- far from
it, in fact. I merely cited C99 because it describes the expected
behaviour in detail.

C89 says nothing about this particular kind of behaviour.This is
one of the reasons why newer standards are released. C99 elaborates
on this issue because the previous standards did not, and because
various vendors implemented it differently. Please note that C99
did not introduce this behaviour; it simply described existing
practice.

This brings up an important point: other vsnprintf implementations
(and I believe that this applies to every vsnprintf sourcecode I
have seen so far) exhibit the same non-preserving behaviour as trio.

Libxml will always use the native vsnprintf implementation, if this
exists, in preference over trio_vsnprintf. This, combined with the
above point, means that changing the behaviour of trio will not
fix the problem in general. xmlGetVarStr may continue to break on
other platforms with non-preserved va_lists.

Please don't get me wrong. I am not trying to avoid making changes
to trio. I am just convinced that it is the wrong place to try to
fix this particular problem -- partly because it does not fix the
problem in general, and partly because it may be impossible to
make a portable workaround in trio.




[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]