<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
</head>
<body>
<div class="moz-cite-prefix">Le 16/03/2022 à 21:13, Brendan Shanks a
écrit :<br>
</div>
<blockquote type="cite"
cite="mid:7315FAD2-9D5D-46C6-A8AE-74B055488067@codeweavers.com">
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<br class="">
<div>
<blockquote type="cite" class="">
<div class="">On Mar 16, 2022, at 12:20 AM, Eric Pouech <<a
href="mailto:eric.pouech@orange.fr"
class="moz-txt-link-freetext" moz-do-not-send="true">eric.pouech@orange.fr</a>>
wrote:</div>
<br class="Apple-interchange-newline">
<div class=""><span style="caret-color: rgb(0, 0, 0);
font-family: Helvetica; font-size: 12px; font-style:
normal; font-variant-caps: normal; font-weight: normal;
letter-spacing: normal; text-align: start; text-indent:
0px; text-transform: none; white-space: normal;
word-spacing: 0px; -webkit-text-stroke-width: 0px;
text-decoration: none; float: none; display: inline
!important;" class="">Le 15/03/2022 à 20:05, Brendan
Shanks a écrit :</span><br style="caret-color: rgb(0, 0,
0); font-family: Helvetica; font-size: 12px; font-style:
normal; font-variant-caps: normal; font-weight: normal;
letter-spacing: normal; text-align: start; text-indent:
0px; text-transform: none; white-space: normal;
word-spacing: 0px; -webkit-text-stroke-width: 0px;
text-decoration: none;" class="">
<blockquote type="cite" style="font-family: Helvetica;
font-size: 12px; font-style: normal; font-variant-caps:
normal; font-weight: normal; letter-spacing: normal;
orphans: auto; text-align: start; text-indent: 0px;
text-transform: none; white-space: normal; widows: auto;
word-spacing: 0px; -webkit-text-size-adjust: auto;
-webkit-text-stroke-width: 0px; text-decoration: none;"
class="">Signed-off-by: Brendan Shanks <<a
href="mailto:bshanks@codeweavers.com"
class="moz-txt-link-freetext" moz-do-not-send="true">bshanks@codeweavers.com</a>><br
class="">
---<br class="">
programs/winedbg/gdbproxy.c | 9 +++++----<br class="">
1 file changed, 5 insertions(+), 4 deletions(-)<br
class="">
<br class="">
diff --git a/programs/winedbg/gdbproxy.c
b/programs/winedbg/gdbproxy.c<br class="">
index 0268a288481..bcde120adeb 100644<br class="">
--- a/programs/winedbg/gdbproxy.c<br class="">
+++ b/programs/winedbg/gdbproxy.c<br class="">
@@ -482,7 +482,6 @@ static BOOL handle_exception(struct
gdb_context* gdbctx, EXCEPTION_DEBUG_INFO* e<br class="">
{<br class="">
const THREADNAME_INFO *threadname = (const
THREADNAME_INFO *)rec->ExceptionInformation;<br
class="">
struct dbg_thread *thread;<br class="">
- char name[9];<br class="">
SIZE_T read;<br class="">
if (threadname->dwType != 0x1000)<br
class="">
@@ -494,10 +493,12 @@ static BOOL handle_exception(struct
gdb_context* gdbctx, EXCEPTION_DEBUG_INFO* e<br class="">
if (thread)<br class="">
{<br class="">
if
(gdbctx->process->process_io->read(
gdbctx->process->handle,<br class="">
- threadname->szName, name,
sizeof(name), &read) && read == sizeof(name))<br
class="">
+ threadname->szName, thread->name,
sizeof(thread->name), &read) &&<br class="">
+ read == sizeof(thread->name))<br
class="">
</blockquote>
<br style="caret-color: rgb(0, 0, 0); font-family:
Helvetica; font-size: 12px; font-style: normal;
font-variant-caps: normal; font-weight: normal;
letter-spacing: normal; text-align: start; text-indent:
0px; text-transform: none; white-space: normal;
word-spacing: 0px; -webkit-text-stroke-width: 0px;
text-decoration: none;" class="">
<span style="caret-color: rgb(0, 0, 0); font-family:
Helvetica; font-size: 12px; font-style: normal;
font-variant-caps: normal; font-weight: normal;
letter-spacing: normal; text-align: start; text-indent:
0px; text-transform: none; white-space: normal;
word-spacing: 0px; -webkit-text-stroke-width: 0px;
text-decoration: none; float: none; display: inline
!important;" class="">it looks a bit strange to me that we
can always expect being able to read
sizeof(thread->name) here...</span><br
style="caret-color: rgb(0, 0, 0); font-family: Helvetica;
font-size: 12px; font-style: normal; font-variant-caps:
normal; font-weight: normal; letter-spacing: normal;
text-align: start; text-indent: 0px; text-transform: none;
white-space: normal; word-spacing: 0px;
-webkit-text-stroke-width: 0px; text-decoration: none;"
class="">
<br style="caret-color: rgb(0, 0, 0); font-family:
Helvetica; font-size: 12px; font-style: normal;
font-variant-caps: normal; font-weight: normal;
letter-spacing: normal; text-align: start; text-indent:
0px; text-transform: none; white-space: normal;
word-spacing: 0px; -webkit-text-stroke-width: 0px;
text-decoration: none;" class="">
<span style="caret-color: rgb(0, 0, 0); font-family:
Helvetica; font-size: 12px; font-style: normal;
font-variant-caps: normal; font-weight: normal;
letter-spacing: normal; text-align: start; text-indent:
0px; text-transform: none; white-space: normal;
word-spacing: 0px; -webkit-text-stroke-width: 0px;
text-decoration: none; float: none; display: inline
!important;" class="">using existing memory_get_string
helper might be a better idea</span><br
style="caret-color: rgb(0, 0, 0); font-family: Helvetica;
font-size: 12px; font-style: normal; font-variant-caps:
normal; font-weight: normal; letter-spacing: normal;
text-align: start; text-indent: 0px; text-transform: none;
white-space: normal; word-spacing: 0px;
-webkit-text-stroke-width: 0px; text-decoration: none;"
class="">
</div>
</blockquote>
</div>
<br class="">
<div class="">Thanks, I hadn’t seen that function before, I’ll use
it. I think the end result will be the same though, since
memory_get_string() uses the same read() that's implemented with
ReadProcessMemory(), which doesn’t do partial reads.</div>
<div class="">ReadProcessMemory() could fail if
sizeof(thread->name) would overflow into an inaccessible
page, but for a convenience feature like thread names (and this
is the old/deprecated way of setting them) I’m not sure it’s
worth handling that rare case.</div>
</blockquote>
<p>sounds reasonable (we could evolve memory_get_string if that ever
happens for any kind of string)</p>
<p>A+<br>
</p>
</body>
</html>