summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Support/TarWriter.cpp
diff options
context:
space:
mode:
authorReid Kleckner <rnk@google.com>2017-01-06 18:22:18 +0000
committerReid Kleckner <rnk@google.com>2017-01-06 18:22:18 +0000
commit5984d01826ddf2c865634effd1aec4b8ffefa59c (patch)
treed6354ab61a71f2cf1bca87e70281d18fec13f85d /llvm/lib/Support/TarWriter.cpp
parent887602ae73f02547277fbccbf0953ea03aef0320 (diff)
downloadbcm5719-llvm-5984d01826ddf2c865634effd1aec4b8ffefa59c.tar.gz
bcm5719-llvm-5984d01826ddf2c865634effd1aec4b8ffefa59c.zip
Use %z for size_t and avoid deprecated string functions
This usage of strcpy and snprintf was certainly safe, but using them sets off various deprecation and lint warnings. Easier to just write the belt and suspenders version. llvm-svn: 291256
Diffstat (limited to 'llvm/lib/Support/TarWriter.cpp')
-rw-r--r--llvm/lib/Support/TarWriter.cpp8
1 files changed, 4 insertions, 4 deletions
diff --git a/llvm/lib/Support/TarWriter.cpp b/llvm/lib/Support/TarWriter.cpp
index b56770e5e4c..5fc17d27637 100644
--- a/llvm/lib/Support/TarWriter.cpp
+++ b/llvm/lib/Support/TarWriter.cpp
@@ -87,7 +87,7 @@ static void computeChecksum(UstarHeader &Hdr) {
unsigned Chksum = 0;
for (size_t I = 0; I < sizeof(Hdr); ++I)
Chksum += reinterpret_cast<uint8_t *>(&Hdr)[I];
- sprintf(Hdr.Checksum, "%06o", Chksum);
+ snprintf(Hdr.Checksum, sizeof(Hdr.Checksum), "%06o", Chksum);
}
// Create a tar header and write it to a given output stream.
@@ -98,7 +98,7 @@ static void writePaxHeader(raw_fd_ostream &OS, StringRef Path) {
// Create a 512-byte header.
UstarHeader Hdr = {};
- sprintf(Hdr.Size, "%011lo", PaxAttr.size());
+ snprintf(Hdr.Size, sizeof(Hdr.Size), "%011zo", PaxAttr.size());
Hdr.TypeFlag = 'x'; // PAX magic
memcpy(Hdr.Magic, "ustar", 6); // Ustar magic
computeChecksum(Hdr);
@@ -114,8 +114,8 @@ static void writePaxHeader(raw_fd_ostream &OS, StringRef Path) {
static void writeUstarHeader(raw_fd_ostream &OS, StringRef Path, size_t Size) {
UstarHeader Hdr = {};
memcpy(Hdr.Name, Path.data(), Path.size());
- strcpy(Hdr.Mode, "0000664");
- sprintf(Hdr.Size, "%011lo", Size);
+ memcpy(Hdr.Mode, "0000664", 8);
+ snprintf(Hdr.Size, sizeof(Hdr.Size), "%011zo", Size);
memcpy(Hdr.Magic, "ustar", 6);
computeChecksum(Hdr);
OS << StringRef(reinterpret_cast<char *>(&Hdr), sizeof(Hdr));
OpenPOWER on IntegriCloud