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