Reviewed-by: Qiu Shumin <[email protected]> -----Original Message----- From: Samer El-Haj-Mahmoud [mailto:[email protected]] Sent: Tuesday, December 15, 2015 8:41 AM To: [email protected] Cc: Dong, Eric; Qiu, Shumin; Samer El-Haj-Mahmoud; Samer El-Haj-Mahmoud Subject: [PATCH] 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]> --- .../Universal/RegularExpressionDxe/Oniguruma/regcomp.c | 14 ++++++++------ .../Universal/RegularExpressionDxe/Oniguruma/regparse.c | 2 +- 2 files changed, 9 insertions(+), 7 deletions(-) diff --git a/MdeModulePkg/Universal/RegularExpressionDxe/Oniguruma/regcomp.c b/MdeModulePkg/Universal/RegularExpressionDxe/Oniguruma/regcomp.c index 25b768b..a5d0cd4 100644 --- a/MdeModulePkg/Universal/RegularExpressionDxe/Oniguruma/regcomp.c +++ b/MdeModulePkg/Universal/RegularExpressionDxe/Oniguruma/regcomp.c @@ -70,7 +70,9 @@ static void 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); @@ -4103,7 +4105,7 @@ alt_merge_mml(MinMaxLen* to, MinMaxLen* from) static void copy_opt_env(OptEnv* to, OptEnv* from) { - *to = *from; + CopyMem (to, from, sizeof (OptEnv)); } static void @@ -4116,7 +4118,7 @@ clear_opt_anc_info(OptAncInfo* anc) static void copy_opt_anc_info(OptAncInfo* to, OptAncInfo* from) { - *to = *from; + CopyMem (to, from, sizeof (OptAncInfo)); } static void @@ -4200,7 +4202,7 @@ clear_opt_exact_info(OptExactInfo* ex) static void copy_opt_exact_info(OptExactInfo* to, OptExactInfo* from) { - *to = *from; + CopyMem (to, from, sizeof (OptExactInfo)); } static void @@ -4348,7 +4350,7 @@ clear_opt_map_info(OptMapInfo* map) static void copy_opt_map_info(OptMapInfo* to, OptMapInfo* from) { - *to = *from; + CopyMem (to, from, sizeof (OptMapInfo)); } static void @@ -4463,7 +4465,7 @@ clear_node_opt_info(NodeOptInfo* opt) static void copy_node_opt_info(NodeOptInfo* to, NodeOptInfo* from) { - *to = *from; + CopyMem (to, from, sizeof (NodeOptInfo)); } static void diff --git a/MdeModulePkg/Universal/RegularExpressionDxe/Oniguruma/regparse.c b/MdeModulePkg/Universal/RegularExpressionDxe/Oniguruma/regparse.c index 4be2f22..05cf2cc 100644 --- a/MdeModulePkg/Universal/RegularExpressionDxe/Oniguruma/regparse.c +++ b/MdeModulePkg/Universal/RegularExpressionDxe/Oniguruma/regparse.c @@ -2211,7 +2211,7 @@ onig_reduce_nested_quantifier(Node* pnode, Node* cnode) switch(ReduceTypeTable[cnum][pnum]) { case RQ_DEL: - *pnode = *cnode; + CopyMem (pnode, cnode, sizeof (Node)); break; case RQ_A: p->target = c->target; -- 2.6.3.windows.1 _______________________________________________ edk2-devel mailing list [email protected] https://lists.01.org/mailman/listinfo/edk2-devel

