difftreelog
fix(evaluator) forbid negative shift
in: master
1 file changed
crates/jrsonnet-evaluator/src/evaluate.rsdiffbeforeafterboth160 Val::Num(((*v1 as i32) ^ (*v2 as i32)) as f64)160 Val::Num(((*v1 as i32) ^ (*v2 as i32)) as f64)161 }161 }162 (Val::Num(v1), BinaryOpType::Lhs, Val::Num(v2)) => {162 (Val::Num(v1), BinaryOpType::Lhs, Val::Num(v2)) => {163 if *v2 < 0.0 {164 create_error_result(Error::RuntimeError("shift by negative exponent".into()))?165 }163 Val::Num(((*v1 as i32) << (*v2 as i32)) as f64)166 Val::Num(((*v1 as i32) << (*v2 as i32)) as f64)164 }167 }165 (Val::Num(v1), BinaryOpType::Rhs, Val::Num(v2)) => {168 (Val::Num(v1), BinaryOpType::Rhs, Val::Num(v2)) => {169 if *v2 < 0.0 {170 create_error_result(Error::RuntimeError("shift by negative exponent".into()))?171 }166 Val::Num(((*v1 as i32) >> (*v2 as i32)) as f64)172 Val::Num(((*v1 as i32) >> (*v2 as i32)) as f64)167 }173 }168174