You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@subversion.apache.org by ko...@apache.org on 2014/06/20 12:37:54 UTC
svn commit: r1604131 -
/subversion/trunk/subversion/libsvn_subr/win32_crashrpt.c
Author: kotkov
Date: Fri Jun 20 10:37:53 2014
New Revision: 1604131
URL: http://svn.apache.org/r1604131
Log:
Get rid of the undefined behavior in the 64-bit Windows crash reporter.
There is a coding oversight that has been there since the r866928.
Prior to this changeset, a register dump could look like this:
[[[
cs=0033 ss=002b ds=002b es=0053 fs=002b gs=002b ss=cccccccc
^^^ (here is the UB)
^^^ (these segment registers actually are incorrectly
mixed up within the fprintf() call);
]]]
* subversion/libsvn_subr/win32_crashrpt.c
(write_process_info): Fix the problem by using a correct format string
and ordering the arguments the same way as in the 32-bit code path.
Modified:
subversion/trunk/subversion/libsvn_subr/win32_crashrpt.c
Modified: subversion/trunk/subversion/libsvn_subr/win32_crashrpt.c
URL: http://svn.apache.org/viewvc/subversion/trunk/subversion/libsvn_subr/win32_crashrpt.c?rev=1604131&r1=1604130&r2=1604131&view=diff
==============================================================================
--- subversion/trunk/subversion/libsvn_subr/win32_crashrpt.c (original)
+++ subversion/trunk/subversion/libsvn_subr/win32_crashrpt.c Fri Jun 20 10:37:53 2014
@@ -252,9 +252,9 @@ write_process_info(EXCEPTION_RECORD *exc
context->R12, context->R13, context->R14, context->R15);
fprintf(log_file,
- "cs=%04x ss=%04x ds=%04x es=%04x fs=%04x gs=%04x ss=%04x\n",
- context->SegCs, context->SegDs, context->SegEs,
- context->SegFs, context->SegGs, context->SegSs);
+ "cs=%04x ss=%04x ds=%04x es=%04x fs=%04x gs=%04x\n",
+ context->SegCs, context->SegSs, context->SegDs,
+ context->SegEs, context->SegFs, context->SegGs);
#else
#error Unknown processortype, please disable SVN_USE_WIN32_CRASHHANDLER
#endif