diff options
| author | bors <bors@rust-lang.org> | 2016-12-10 00:34:13 +0000 |
|---|---|---|
| committer | bors <bors@rust-lang.org> | 2016-12-10 00:34:13 +0000 |
| commit | ebf2e7da5b7ec70c28bd5535829a13203585f854 (patch) | |
| tree | 228e11cd6c75ddbfd9a10d20ecc3e1d5b0e69244 /src/rustllvm/PassWrapper.cpp | |
| parent | fa45d0be82039d2a0c6c16e545058e9e6491b292 (diff) | |
| parent | f58e553001537d52e67720156f9280d122cc242d (diff) | |
| download | rust-ebf2e7da5b7ec70c28bd5535829a13203585f854.tar.gz rust-ebf2e7da5b7ec70c28bd5535829a13203585f854.zip | |
Auto merge of #38223 - rkruppe:llvm-stringref-fixes, r=alexcrichton
printf type correctness The `%.*s` format specifier requires an int for the maximum size, but StringRef::size is a size_t cc @shepmaster
Diffstat (limited to 'src/rustllvm/PassWrapper.cpp')
| -rw-r--r-- | src/rustllvm/PassWrapper.cpp | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/src/rustllvm/PassWrapper.cpp b/src/rustllvm/PassWrapper.cpp index d1eb261abd3..c45d1c2d088 100644 --- a/src/rustllvm/PassWrapper.cpp +++ b/src/rustllvm/PassWrapper.cpp @@ -533,8 +533,11 @@ LLVMRustPrintPasses() { StringRef PassArg = info->getPassArgument(); StringRef PassName = info->getPassName(); if (!PassArg.empty()) { - printf("%15.*s - %.*s\n", PassArg.size(), PassArg.data(), - PassName.size(), PassName.data()); + // These unsigned->signed casts could theoretically overflow, but + // realistically never will (and even if, the result is implementation + // defined rather plain UB). + printf("%15.*s - %.*s\n", (int)PassArg.size(), PassArg.data(), + (int)PassName.size(), PassName.data()); } #else if (info->getPassArgument() && *info->getPassArgument()) { |
