浏览代码

Fix early overwrite of dst w/ exp_u64

misomosi 9 月之前
父节点
当前提交
26f9688c69
共有 1 个文件被更改,包括 4 次插入1 次删除
  1. 4 1
      src/big_int.cpp

+ 4 - 1
src/big_int.cpp

@@ -251,7 +251,10 @@ gb_internal void big_int_from_string(BigInt *dst, String const &s, bool *success
 			exp *= 10;
 			exp += v;
 		}
-		big_int_exp_u64(dst, &b, exp, success);
+		BigInt tmp = {};
+		mp_init(&tmp);
+		big_int_exp_u64(&tmp, &b, exp, success);
+		big_int_mul_eq(dst, &tmp);
 	}
 
 	if (is_negative) {