From f01463fc124ffba9780318ff95c57ab54c040dd5 Mon Sep 17 00:00:00 2001 From: Padraic Fanning Date: Sun, 16 Jan 2022 20:24:18 -0500 Subject: [PATCH] Add proper error message for negative length --- vm/src/builtins/int.rs | 3 +++ 1 file changed, 3 insertions(+) diff --git a/vm/src/builtins/int.rs b/vm/src/builtins/int.rs index b51820a755..c4b6e25903 100644 --- a/vm/src/builtins/int.rs +++ b/vm/src/builtins/int.rs @@ -640,6 +640,9 @@ impl PyInt { return Err(vm.new_overflow_error("can't convert negative int to unsigned".to_owned())); } + if args.length.value.sign() == Sign::Minus { + return Err(vm.new_value_error("length argument must be non-negative".to_owned())); + } let byte_len = args.length.try_to_primitive(vm)?; let mut origin_bytes = match (args.byteorder.as_str(), signed) {