Bug 1367571 - Fix return value check for snprintf in CodeCoverage.cpp r=nbp draft
authorChris Manchester <cmanchester@mozilla.com>
Wed, 24 May 2017 14:41:37 -0700
changeset 584072 7820cea3bbc1612547b67357a5754d4e778a5ae1
parent 583779 37d777d872002597198405f22eefa9199e5103af
child 630273 3378bf086581dd42078e654321b2894a7d34ff78
push id60621
push userbmo:cmanchester@mozilla.com
push dateWed, 24 May 2017 21:49:02 +0000
reviewersnbp
bugs1367571
milestone55.0a1
Bug 1367571 - Fix return value check for snprintf in CodeCoverage.cpp r=nbp MozReview-Commit-ID: BGLiCyq41DP
js/src/vm/CodeCoverage.cpp
--- a/js/src/vm/CodeCoverage.cpp
+++ b/js/src/vm/CodeCoverage.cpp
@@ -566,17 +566,17 @@ LCovRuntime::fillWithFilename(char *name
         return false;
 
     int64_t timestamp = static_cast<double>(PRMJ_Now()) / PRMJ_USEC_PER_SEC;
     static mozilla::Atomic<size_t> globalRuntimeId(0);
     size_t rid = globalRuntimeId++;
 
     int len = snprintf(name, length, "%s/%" PRId64 "-%" PRIu32 "-%" PRIuSIZE ".info",
                        outDir, timestamp, pid_, rid);
-    if (length != size_t(len)) {
+    if (len < 0 || size_t(len) >= length) {
         fprintf(stderr, "Warning: LCovRuntime::init: Cannot serialize file name.");
         return false;
     }
 
     return true;
 }
 
 void