diff options
author | Reid Kleckner <rnk@google.com> | 2017-01-06 18:22:18 +0000 |
---|---|---|
committer | Reid Kleckner <rnk@google.com> | 2017-01-06 18:22:18 +0000 |
commit | 5984d01826ddf2c865634effd1aec4b8ffefa59c (patch) | |
tree | d6354ab61a71f2cf1bca87e70281d18fec13f85d /llvm/lib/Support/TarWriter.cpp | |
parent | 887602ae73f02547277fbccbf0953ea03aef0320 (diff) | |
download | bcm5719-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.cpp | 8 |
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)); |