fs.mitm: fix null deref

This commit is contained in:
Michael Scire 2019-03-22 14:49:07 -07:00
parent 9d5ca47ac8
commit 22d4de27f1

View File

@ -185,7 +185,9 @@ Result FsPathUtils::Normalize(char *out, size_t max_out_size, const char *src, s
if (!skip_next_sep) { if (!skip_next_sep) {
if (len + 1 == max_out_size) { if (len + 1 == max_out_size) {
out[len] = 0; out[len] = 0;
*out_len = len; if (out_len != nullptr) {
*out_len = len;
}
return ResultFsTooLongPath; return ResultFsTooLongPath;
} }
@ -227,7 +229,9 @@ Result FsPathUtils::Normalize(char *out, size_t max_out_size, const char *src, s
out[len++] = src[i+j]; out[len++] = src[i+j];
} }
out[len] = 0; out[len] = 0;
*out_len = len; if (out_len != nullptr) {
*out_len = len;
}
return ResultFsTooLongPath; return ResultFsTooLongPath;
} }
} }
@ -249,7 +253,9 @@ Result FsPathUtils::Normalize(char *out, size_t max_out_size, const char *src, s
/* NULL terminate. */ /* NULL terminate. */
out[len] = 0; out[len] = 0;
*out_len = len; if (out_len != nullptr) {
*out_len = len;
}
/* Assert normalized. */ /* Assert normalized. */
bool normalized = false; bool normalized = false;