Revision: 19292
          http://sourceforge.net/p/edk2/code/19292
Author:   shenshushi
Date:     2015-12-16 02:46:53 +0000 (Wed, 16 Dec 2015)
Log Message:
-----------
MdeModulePkg: Fix RegularExpressionDxe memcpy intrinsic.

Use explicit CopyMem to resolve intrinsic memcpy errors on some compilers.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Samer El-Haj-Mahmoud <[email protected]>
Reviewed-by: Qiu Shumin <[email protected]>

Modified Paths:
--------------
    trunk/edk2/MdeModulePkg/Universal/RegularExpressionDxe/Oniguruma/regcomp.c
    trunk/edk2/MdeModulePkg/Universal/RegularExpressionDxe/Oniguruma/regparse.c

Modified: 
trunk/edk2/MdeModulePkg/Universal/RegularExpressionDxe/Oniguruma/regcomp.c
===================================================================
--- trunk/edk2/MdeModulePkg/Universal/RegularExpressionDxe/Oniguruma/regcomp.c  
2015-12-16 02:14:05 UTC (rev 19291)
+++ trunk/edk2/MdeModulePkg/Universal/RegularExpressionDxe/Oniguruma/regcomp.c  
2015-12-16 02:46:53 UTC (rev 19292)
@@ -70,7 +70,9 @@
 swap_node(Node* a, Node* b)
 {
   Node c;
-  c = *a; *a = *b; *b = c;
+  CopyMem (&c, a, sizeof (Node));
+  CopyMem (a, b, sizeof (Node));
+  CopyMem (b, &c, sizeof (Node));
 
   if (NTYPE(a) == NT_STR) {
     StrNode* sn = NSTR(a);
@@ -4113,7 +4115,7 @@
 static void
 copy_opt_env(OptEnv* to, OptEnv* from)
 {
-  *to = *from;
+  CopyMem (to, from, sizeof (OptEnv));
 }
 
 static void
@@ -4126,7 +4128,7 @@
 static void
 copy_opt_anc_info(OptAncInfo* to, OptAncInfo* from)
 {
-  *to = *from;
+  CopyMem (to, from, sizeof (OptAncInfo));
 }
 
 static void
@@ -4210,7 +4212,7 @@
 static void
 copy_opt_exact_info(OptExactInfo* to, OptExactInfo* from)
 {
-  *to = *from;
+  CopyMem (to, from, sizeof (OptExactInfo));
 }
 
 static void
@@ -4358,7 +4360,7 @@
 static void
 copy_opt_map_info(OptMapInfo* to, OptMapInfo* from)
 {
-  *to = *from;
+  CopyMem (to, from, sizeof (OptMapInfo));
 }
 
 static void
@@ -4473,7 +4475,7 @@
 static void
 copy_node_opt_info(NodeOptInfo* to, NodeOptInfo* from)
 {
-  *to = *from;
+  CopyMem (to, from, sizeof (NodeOptInfo));
 }
 
 static void

Modified: 
trunk/edk2/MdeModulePkg/Universal/RegularExpressionDxe/Oniguruma/regparse.c
===================================================================
--- trunk/edk2/MdeModulePkg/Universal/RegularExpressionDxe/Oniguruma/regparse.c 
2015-12-16 02:14:05 UTC (rev 19291)
+++ trunk/edk2/MdeModulePkg/Universal/RegularExpressionDxe/Oniguruma/regparse.c 
2015-12-16 02:46:53 UTC (rev 19292)
@@ -2217,7 +2217,7 @@
 
   switch(ReduceTypeTable[cnum][pnum]) {
   case RQ_DEL:
-    *pnode = *cnode;
+    CopyMem (pnode, cnode, sizeof (Node));
     break;
   case RQ_A:
     p->target = c->target;


------------------------------------------------------------------------------
_______________________________________________
edk2-commits mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/edk2-commits

Reply via email to