<html><head></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; ">I confirm the patch is correct.<div><br></div><div>As of Apple TechNote 1150 at <a href="http://developer.apple.com/library/mac/#technotes/tn/tn1150.html">http://developer.apple.com/library/mac/#technotes/tn/tn1150.html</a> the wrapper address is at byte 0x07c.</div><div><br></div><div>vol is declared as UInt16 and so the offset advanced two bytes each step, then correct offset is 0x3e in 16-bit words.</div><div><br><div><div>El 10/08/2011, a las 16:41, William Hahne escribió:</div><br class="Apple-interchange-newline"><blockquote type="cite"><br><br><div class="gmail_quote">On Wed, Aug 10, 2011 at 5:56 AM, Mark Cave-Ayland <span dir="ltr"><<a href="mailto:mark.cave-ayland@siriusit.co.uk">mark.cave-ayland@siriusit.co.uk</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">
<div><div></div><div class="h5">On 09/08/11 22:54, William Hahne wrote:<br>
<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
The code for checking for a wrapped HFS+ volume looks at the wrong offset.<br>
<br>
Index: fs/hfsplus/hfsp_volume.c<br>
==============================<u></u>==============================<u></u>=======<br>
--- fs/hfsplus/hfsp_volume.c (revision 1041)<br>
+++ fs/hfsplus/hfsp_volume.c (working copy)<br>
@@ -302,7 +302,7 @@<br>
os_read(fd, vol, 2, HFSP_BLOCKSZ_BITS);<br>
if (__be16_to_cpu(vol[0]) == HFS_VOLHEAD_SIG &&<br>
- __be16_to_cpu(vol[0x7c]) == HFSP_VOLHEAD_SIG) {<br>
+ __be16_to_cpu(vol[0x3e]) == HFSP_VOLHEAD_SIG) {<br>
ret = -1;<br>
} else if (__be16_to_cpu(vol[0]) == HFSP_VOLHEAD_SIG) {<br>
ret = -1;<br>
</blockquote>
<br></div></div>
Same comment as for patch 2/10.<br>
<br></blockquote><div><br></div><div>Actually I think this one is not contrary to the specification but is just a mix up between a 8bit and 16bit array. The original value seems to assume that vol is an array of 8bit integers while it is an array of 16bit integers. If you notice the corrected value is half of the original value. I can look up the documentation but it seems unnecessary in this case.</div>
<div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">
<br>
ATB,<br>
<br>
Mark.<br>
<br>
-- <br>
Mark Cave-Ayland - Senior Technical Architect<br>
PostgreSQL - PostGIS<br>
Sirius Corporation plc - control through freedom<br>
<a href="http://www.siriusit.co.uk/" target="_blank">http://www.siriusit.co.uk</a><br>
t: <a href="tel:%2B44%20870%20608%200063" value="+448706080063" target="_blank">+44 870 608 0063</a><br>
<br>
Sirius Labs: <a href="http://www.siriusit.co.uk/labs" target="_blank">http://www.siriusit.co.uk/labs</a><br><font color="#888888">
<br>
-- <br>
OpenBIOS                 <a href="http://openbios.org/" target="_blank">http://openbios.org/</a><br>
Mailinglist:  <a href="http://lists.openbios.org/mailman/listinfo" target="_blank">http://lists.openbios.org/<u></u>mailman/listinfo</a><br>
Free your System - May the Forth be with you<br></font></blockquote><div><br></div><div>William Hahne </div></div><br>
-- <br>OpenBIOS                 <a href="http://openbios.org/">http://openbios.org/</a><br>Mailinglist:  <a href="http://lists.openbios.org/mailman/listinfo">http://lists.openbios.org/mailman/listinfo</a><br>Free your System - May the Forth be with you</blockquote></div><br></div></body></html>