Skip to content

Commit 7e7a33c

Browse files
committed
Check array lengths to prevent OOB access
1 parent c4c9d9f commit 7e7a33c

File tree

1 file changed

+3
-0
lines changed

1 file changed

+3
-0
lines changed

clippy_lints/src/explicit_write.rs

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -52,9 +52,12 @@ impl<'a, 'tcx> LateLintPass<'a, 'tcx> for Pass {
5252
if let ExprKind::MethodCall(ref write_fun, _, ref write_args) =
5353
unwrap_args[0].node;
5454
// Obtain the string that should be printed
55+
if write_args.len() > 1;
5556
if let ExprKind::Call(_, ref output_args) = write_args[1].node;
57+
if output_args.len() > 0;
5658
if let ExprKind::AddrOf(_, ref output_string_expr) = output_args[0].node;
5759
if let ExprKind::Array(ref string_exprs) = output_string_expr.node;
60+
if string_exprs.len() > 0;
5861
if let ExprKind::Lit(ref lit) = string_exprs[0].node;
5962
if let LitKind::Str(ref write_output, _) = lit.node;
6063
if write_fun.ident.name == "write_fmt";

0 commit comments

Comments
 (0)