Sorry for not replying before it was commited, but yes, seems okay.<div><br></div><div>Regards,</div><div><br></div><div>  Filipe</div><div class="gmail_extra"><br clear="all"><div>  F<br></div><br>
<br><br><div class="gmail_quote">On Thu, Dec 13, 2012 at 11:54 AM, Kopec, Matt <span dir="ltr"><<a href="mailto:matt.kopec@intel.com" target="_blank">matt.kopec@intel.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
Hi Filipe,<br>
<br>
Thanks for the heads up. After some further review, we removed the memset altogether. We copy the bytes from dst to an unsigned int and send that for logging instead so the memset isn't needed anymore. This will ensure only the buffer data will be output and in the same format as before. Patch attached.<br>

<br>
Thanks,<br>
Matt<br>
________________________________________<br>
From: <a href="mailto:lldb-commits-bounces@cs.uiuc.edu">lldb-commits-bounces@cs.uiuc.edu</a> [<a href="mailto:lldb-commits-bounces@cs.uiuc.edu">lldb-commits-bounces@cs.uiuc.edu</a>] on behalf of Malea, Daniel [<a href="mailto:daniel.malea@intel.com">daniel.malea@intel.com</a>]<br>

Sent: Wednesday, December 12, 2012 8:42 PM<br>
To: Filipe Cabecinhas<br>
Cc: lldb-commits<br>
Subject: Re: [Lldb-commits] [lldb] r169645 - in /lldb/trunk: include/lldb/Core/ include/lldb/Expression/ source/Commands/ source/Core/ source/Expression/ source/Interpreter/ source/Plugins/DynamicLoader/MacOSX-DYLD/ source/Plugins/LanguageRuntime/ObjC/AppleObjC...<br>

<div><div class="h5"><br>
Hi Filipe,<br>
<br>
Thanks for catching this! Matt and I discussed the Printf() call and we're pretty sure it can lead to some problems...<br>
<br>
On 2012-12-12, at 6:41 PM, Filipe Cabecinhas wrote:<br>
<br>
I'm not familiar with the code on this part, but I would say that we want one of these:<br>
  - change the memset size to sizeof(unsigned long*)<br>
  - change the memset size to size, which I suppose is the size we have in the memory pointed to by buf (which gets static_cast'ed to dst). Are we always sure size is equal or greater than sizeof(unsigned long)?<br>
<br>
Or maybe I didn't understand this part of the code.<br>
Could someone more familiar with ProcessMonitor chip in?<br>
<br>
<br>
We will change the memset length to "size", but also (because dst gets incremented as part of the for loop on line 241) we will move the memset() call before the loop.<br>
<br>
You brought up a very good point though about size being equal or greater than sizeof(unsigned long)... I'm not sure there's any guarantees that a caller of DoReadMemory doesn't want to read a single byte by passing in a buffer of size 1. In case logging is enabled, this might lead to some weirdness. We have a fix, but it introduces some more bit-shifting magic. Matt or I will post it on the list tomorrow if we don't come up with something more elegant.<br>

<br>
<br>
<br>
</div></div>Daniel Malea <<a href="mailto:daniel.malea@intel.com">daniel.malea@intel.com</a><mailto:<a href="mailto:daniel.malea@intel.com">daniel.malea@intel.com</a>>><br>
Intel Waterloo<br>
Phone: <a href="tel:519-772-2566" value="+15197722566">519-772-2566</a><br>
<br>
<br>
_______________________________________________<br>
lldb-commits mailing list<br>
<a href="mailto:lldb-commits@cs.uiuc.edu">lldb-commits@cs.uiuc.edu</a><br>
<a href="http://lists.cs.uiuc.edu/mailman/listinfo/lldb-commits" target="_blank">http://lists.cs.uiuc.edu/mailman/listinfo/lldb-commits</a><br>
</blockquote></div><br></div>