summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNicolas Vigier <boklm@torproject.org>2017-10-16 20:03:54 +0200
committerNicolas Vigier <boklm@torproject.org>2017-10-16 20:03:54 +0200
commitf1d0402503228f8db01846c517be2d687137edf9 (patch)
tree4e4373abc00ddf0b5fc5c86530313f5d8d15b3a5
parent9a59f0ade8d86fcdea5d8f45e537d544f8870f8a (diff)
downloadnss-hg-f1d0402503228f8db01846c517be2d687137edf9.tar.gz
Bug 1305396 - Replace memmove with std::copy_backward in a file that doesn't include cstring explicitly. r=keeler
-rw-r--r--lib/mozpkix/lib/pkixnames.cpp10
1 files changed, 5 insertions, 5 deletions
diff --git a/lib/mozpkix/lib/pkixnames.cpp b/lib/mozpkix/lib/pkixnames.cpp
index bd7816e97..1eceadd66 100644
--- a/lib/mozpkix/lib/pkixnames.cpp
+++ b/lib/mozpkix/lib/pkixnames.cpp
@@ -34,6 +34,8 @@
// constraints, the reference identifier is the entire encoded name constraint
// extension value.
+#include <algorithm>
+
#include "pkixcheck.h"
#include "pkixutil.h"
@@ -1705,11 +1707,9 @@ FinishIPv6Address(/*in/out*/ uint8_t (&address)[16], int numComponents,
}
// Shift components that occur after the contraction over.
- size_t componentsToMove = static_cast<size_t>(numComponents -
- contractionIndex);
- memmove(address + (2u * static_cast<size_t>(8 - componentsToMove)),
- address + (2u * static_cast<size_t>(contractionIndex)),
- componentsToMove * 2u);
+ std::copy_backward(address + (2u * static_cast<size_t>(contractionIndex)),
+ address + (2u * static_cast<size_t>(numComponents)),
+ address + (2u * 8u));
// Fill in the contracted area with zeros.
std::fill_n(address + 2u * static_cast<size_t>(contractionIndex),
(8u - static_cast<size_t>(numComponents)) * 2u, static_cast<uint8_t>(0u));