<html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="Generator" content="Microsoft Word 15 (filtered medium)">
<style><!--
/* Font Definitions */
@font-face
        {font-family:PMingLiU;
        panose-1:2 2 5 0 0 0 0 0 0 0;}
@font-face
        {font-family:"Cambria Math";
        panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
        {font-family:Calibri;
        panose-1:2 15 5 2 2 2 4 3 2 4;}
@font-face
        {font-family:"Segoe UI";
        panose-1:2 11 5 2 4 2 4 2 2 3;}
@font-face
        {font-family:PMingLiU;
        panose-1:2 1 6 1 0 1 1 1 1 1;}
@font-face
        {font-family:Consolas;
        panose-1:2 11 6 9 2 2 4 3 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0cm;
        margin-bottom:.0001pt;
        font-size:12.0pt;
        font-family:"Calibri",sans-serif;}
a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:#0563C1;
        text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
        {mso-style-priority:99;
        color:#954F72;
        text-decoration:underline;}
span.EmailStyle17
        {mso-style-type:personal-compose;
        font-family:"Calibri",sans-serif;
        color:windowtext;}
span.pl-c
        {mso-style-name:pl-c;}
span.pl-k
        {mso-style-name:pl-k;}
span.pl-en
        {mso-style-name:pl-en;}
span.pl-c1
        {mso-style-name:pl-c1;}
.MsoChpDefault
        {mso-style-type:export-only;}
/* Page Definitions */
@page WordSection1
        {size:612.0pt 792.0pt;
        margin:72.0pt 90.0pt 72.0pt 90.0pt;}
div.WordSection1
        {page:WordSection1;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext="edit">
<o:idmap v:ext="edit" data="1" />
</o:shapelayout></xml><![endif]-->
</head>
<body lang="ZH-TW" link="#0563C1" vlink="#954F72" style="text-justify-trim:punctuation">
<div class="WordSection1">
<p class="MsoNormal"><span lang="EN-US">Hi </span><span lang="EN-US" style="font-size:10.5pt;font-family:"Segoe UI",sans-serif;background:white">Rthomaiy</span><span lang="EN-US">,
</span><span lang="EN-US" style="font-size:10.5pt;font-family:"Segoe UI",sans-serif;background:white"> Vmauery</span><span lang="EN-US">,
</span><span lang="EN-US" style="font-size:10.5pt;font-family:"Segoe UI",sans-serif;background:white"> Pstrinkle</span><span lang="EN-US">,
</span><span lang="EN-US" style="font-size:10.5pt;font-family:"Segoe UI",sans-serif;background:white">Jayaprakashmutyala</span><span lang="EN-US">,<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US"><o:p> </o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">When I build phosphor-host-ipmid for aarch64 platform, size_t will be 8 bytes, but in aarch32 sizte_t will be 4 bytes, so ipmid will crash at
<a href="https://github.com/openbmc/phosphor-host-ipmid/blob/master/user_channel/passwd_mgr.cpp#L323">
https://github.com/openbmc/phosphor-host-ipmid/blob/master/user_channel/passwd_mgr.cpp#L323</a>, due to the data size of hashsize and ivsize and padsize and macsize is 4 bytes in
</span><span lang="EN-US" style="font-size:9.0pt;font-family:Consolas;color:#032F62;background:white">/etc/ipmi_pass</span><span lang="EN-US">, but ipmid will read those data as 8 bytes.<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US"><o:p></o:p></span></p>
<table class="MsoNormalTable" border="0" cellspacing="0" cellpadding="0" style="background:white;border-collapse:collapse">
<tbody>
<tr>
<td valign="top" style="padding:0cm 7.5pt 0cm 7.5pt">
<p class="MsoNormal" style="line-height:15.0pt"><span lang="EN-US" style="font-size:9.0pt;font-family:Consolas;color:#24292E">/*<o:p></o:p></span></p>
</td>
</tr>
<tr>
<td width="50" nowrap="" valign="top" style="width:37.5pt;padding:0cm 7.5pt 0cm 7.5pt">
</td>
<td valign="top" style="padding:0cm 7.5pt 0cm 7.5pt">
<p class="MsoNormal" style="line-height:15.0pt"><span lang="EN-US" style="font-size:9.0pt;font-family:Consolas;color:#24292E">* Meta data struct for encrypted password file<o:p></o:p></span></p>
</td>
</tr>
<tr>
<td width="50" nowrap="" valign="top" style="width:37.5pt;padding:0cm 7.5pt 0cm 7.5pt">
</td>
<td valign="top" style="padding:0cm 7.5pt 0cm 7.5pt">
<p class="MsoNormal" style="line-height:15.0pt"><span lang="EN-US" style="font-size:9.0pt;font-family:Consolas;color:#24292E">*/<o:p></o:p></span></p>
</td>
</tr>
<tr>
<td width="50" nowrap="" valign="top" style="width:37.5pt;padding:0cm 7.5pt 0cm 7.5pt">
</td>
<td valign="top" style="padding:0cm 7.5pt 0cm 7.5pt">
<p class="MsoNormal" style="line-height:15.0pt"><span lang="EN-US" style="font-size:9.0pt;font-family:Consolas;color:#24292E">struct MetaPassStruct<o:p></o:p></span></p>
</td>
</tr>
<tr>
<td width="50" nowrap="" valign="top" style="width:37.5pt;padding:0cm 7.5pt 0cm 7.5pt">
</td>
<td valign="top" style="padding:0cm 7.5pt 0cm 7.5pt">
<p class="MsoNormal" style="line-height:15.0pt"><span lang="EN-US" style="font-size:9.0pt;font-family:Consolas;color:#24292E">{<o:p></o:p></span></p>
</td>
</tr>
<tr>
<td width="50" nowrap="" valign="top" style="width:37.5pt;padding:0cm 7.5pt 0cm 7.5pt">
</td>
<td valign="top" style="padding:0cm 7.5pt 0cm 7.5pt">
<p class="MsoNormal" style="line-height:15.0pt"><span lang="EN-US" style="font-size:9.0pt;font-family:Consolas;color:#24292E">    char signature[10];<o:p></o:p></span></p>
</td>
</tr>
<tr>
<td width="50" nowrap="" valign="top" style="width:37.5pt;padding:0cm 7.5pt 0cm 7.5pt">
</td>
<td valign="top" style="padding:0cm 7.5pt 0cm 7.5pt">
<p class="MsoNormal" style="line-height:15.0pt"><span lang="EN-US" style="font-size:9.0pt;font-family:Consolas;color:#24292E">    unsigned char reseved[2];<o:p></o:p></span></p>
</td>
</tr>
<tr>
<td width="50" nowrap="" valign="top" style="width:37.5pt;padding:0cm 7.5pt 0cm 7.5pt">
</td>
<td valign="top" style="padding:0cm 7.5pt 0cm 7.5pt">
<p class="MsoNormal" style="line-height:15.0pt"><span lang="EN-US" style="font-size:9.0pt;font-family:Consolas;color:#24292E">    size_t hashSize;<o:p></o:p></span></p>
</td>
</tr>
<tr>
<td width="50" nowrap="" valign="top" style="width:37.5pt;padding:0cm 7.5pt 0cm 7.5pt">
</td>
<td valign="top" style="padding:0cm 7.5pt 0cm 7.5pt">
<p class="MsoNormal" style="line-height:15.0pt"><span lang="EN-US" style="font-size:9.0pt;font-family:Consolas;color:#24292E">    size_t ivSize;<o:p></o:p></span></p>
</td>
</tr>
<tr>
<td width="50" nowrap="" valign="top" style="width:37.5pt;padding:0cm 7.5pt 0cm 7.5pt">
</td>
<td valign="top" style="padding:0cm 7.5pt 0cm 7.5pt">
<p class="MsoNormal" style="line-height:15.0pt"><span lang="EN-US" style="font-size:9.0pt;font-family:Consolas;color:#24292E">    size_t dataSize;<o:p></o:p></span></p>
</td>
</tr>
<tr>
<td width="50" nowrap="" valign="top" style="width:37.5pt;padding:0cm 7.5pt 0cm 7.5pt">
</td>
<td valign="top" style="padding:0cm 7.5pt 0cm 7.5pt">
<p class="MsoNormal" style="line-height:15.0pt"><span lang="EN-US" style="font-size:9.0pt;font-family:Consolas;color:#24292E">    size_t padSize;<o:p></o:p></span></p>
</td>
</tr>
<tr>
<td width="50" nowrap="" valign="top" style="width:37.5pt;padding:0cm 7.5pt 0cm 7.5pt">
</td>
<td valign="top" style="padding:0cm 7.5pt 0cm 7.5pt">
<p class="MsoNormal" style="line-height:15.0pt"><span lang="EN-US" style="font-size:9.0pt;font-family:Consolas;color:#24292E">    size_t macSize;<o:p></o:p></span></p>
</td>
</tr>
<tr>
<td width="50" nowrap="" valign="top" style="width:37.5pt;padding:0cm 7.5pt 0cm 7.5pt">
</td>
<td valign="top" style="padding:0cm 7.5pt 0cm 7.5pt">
<p class="MsoNormal" style="line-height:15.0pt"><span lang="EN-US" style="font-size:9.0pt;font-family:Consolas;color:#24292E">};<o:p></o:p></span></p>
</td>
</tr>
</tbody>
</table>
<p class="MsoNormal"><span lang="EN-US"><o:p> </o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">If I replace size_t in this structure with unsigned int, then ipmid will not crash at this point.<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">But those fields in this structure are also used to store the return value from other functions, like EVP_MD_block_size(),<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">And the return type is also size_t.<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US"><o:p> </o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">Do you have any idea about this issue?<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">Maybe we could just discard the Most Significant 4 Bytes? (I guess these 4 bytes are not used)<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US"><o:p> </o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">Thanks<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US"><o:p> </o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">B.R.<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">Medad<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US"><o:p> </o:p></span></p>
</div>
<hr align="center" width="100%">
<span style="font-size:12pt;line-height:0.7;font-family: 'Arial'; color:#808080">The privileged confidential information contained in this email is intended for use only by the addressees as indicated by the original sender of this email. If you are not the
 addressee indicated in this email or are not responsible for delivery of the email to such a person, please kindly reply to the sender indicating this fact and delete all copies of it from your computer and network server immediately. Your cooperation is highly
 appreciated. It is advised that any unauthorized use of confidential information of Nuvoton is strictly prohibited; and any information in this email irrelevant to the official business of Nuvoton shall be deemed as neither given nor endorsed by Nuvoton.
</span>
</body>
</html>