@@ -69,10 +69,13 @@ RtStrnCpy (
6969 )
7070// copy strings
7171{
72+ CHAR16 CopySrc = * Src ;
73+ CHAR16 * PCopySrc = & CopySrc ;
74+
7275 UINTN Size = RtStrnLen (Src , Len );
7376 if (Size != Len )
7477 RtSetMem (Dest + Size , (Len - Size ) * sizeof (CHAR16 ), '\0' );
75- RtCopyMem (Dest , Src , Size * sizeof (CHAR16 ));
78+ RtCopyMem (Dest , PCopySrc , Size * sizeof (CHAR16 ));
7679}
7780
7881#ifndef __GNUC__
@@ -105,10 +108,13 @@ RtStpnCpy (
105108 )
106109// copy strings
107110{
111+ CHAR16 CopySrc = * Src ;
112+ CHAR16 * PCopySrc = & CopySrc ;
113+
108114 UINTN Size = RtStrnLen (Src , Len );
109115 if (Size != Len )
110116 RtSetMem (Dest + Size , (Len - Size ) * sizeof (CHAR16 ), '\0' );
111- RtCopyMem (Dest , Src , Size * sizeof (CHAR16 ));
117+ RtCopyMem (Dest , PCopySrc , Size * sizeof (CHAR16 ));
112118 return Dest + Size ;
113119}
114120
@@ -137,10 +143,12 @@ RtStrnCat (
137143 )
138144{
139145 UINTN DestSize , Size ;
146+ CHAR16 CopySrc = * Src ;
147+ CHAR16 * PCopySrc = & CopySrc ;
140148
141149 DestSize = RtStrLen (Dest );
142150 Size = RtStrnLen (Src , Len );
143- RtCopyMem (Dest + DestSize , Src , Size * sizeof (CHAR16 ));
151+ RtCopyMem (Dest + DestSize , PCopySrc , Size * sizeof (CHAR16 ));
144152 Dest [DestSize + Size ] = '\0' ;
145153}
146154
0 commit comments