问题标签 [overflow]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
10 回答
6962 浏览

java - Java乘法运算行为

我编写了一个将给定数字从天数转换为毫秒数的方法:

我很难弄清楚我做错了什么。现在我的问题是: 这个错误如此明显吗?

修正方法:

如果我在计算之前没有将整数转换为 long,我会得到一个完全错误的结果。

0 投票
1 回答
1671 浏览

.net - .NET下的缓冲区溢出错误的常见原因

我正在寻找 .NET 下缓冲区溢出错误的常见原因。

我知道在托管的 .NET 代码下缓冲区溢出是不可能的。但是,在 .NET 应用程序范围内仍然可能出现此异常。

我想到的东西——

  • COM 对象调用的有效参数
  • PInvoke/Win32 调用的有效参数

调试缓冲区溢出错误的最佳方法是什么?

0 投票
1 回答
2565 浏览

css - CSS 下溢修复

我想知道是否有针对css的下溢修复?最初的问题是溢出,很容易修复,但现在已成为下溢问题。我设置了一个特定的高度值,但它似乎忽略了这一点,而是调整大小以适应内容。

我感谢任何帮助和想法。

谢谢!

0 投票
1 回答
1906 浏览

asp.net - IE7不自动显示滚动条?

我想知道是否有办法解决我在使用 IE7 时遇到的滚动条问题。

这是我的CSS:

这是HTML:

它在其他浏览器中运行良好,但由于某种原因在 IE7 中无法运行。

为澄清而编辑:

这就是我想要完成的事情:有div一个固定的widthheight并且里面有一个gridview. 如果gridview的宽度或高度超过 的固定大小div,我希望滚动条出现在div.

0 投票
3 回答
560 浏览

c# - 为什么这个特定的操作在 C# 中溢出(参见 CS0220)?

我尝试构建一个大的 Int64,其中包含以字节为单位的半字节信息。

以下代码行按预期工作:

为什么下面这行会导致编译错误 CS0220 "The operation overflows at compile time in checked mode" 而其他行不会?

结果将是:

代替:

谁能解释一下?我现在将使用移位运算符进行转换,但仍然很好奇为什么这种方法不起作用!

更新:使用 (Int64)(0x0d << 28) 时也会出现该错误。

0 投票
6 回答
453 浏览

overflow - SWAP 期间的堆栈溢出

我们如何在不使用第三个变量的情况下处理两个变量交换期间发生的溢出问题。我相信 XOR 解决方案只能用于整数。其他变量类型呢?

0 投票
8 回答
358 浏览

c++ - 当我将它添加到指针时,我可以安全地忽略溢出检查的最小偏移量是多少?

我是否可以期望用户空间程序中的任何“数据”指针与地址 0 和 0xffffffff... 保持安全距离,以便我可以安全地为指针添加一个小偏移量而不检查溢出?当 p 是指向常量字符缓冲区或动态分配字符串的 char 指针(在现代 >= 32 位操作系统上)时,我可以安全地假设 p + n 不会溢出的最大正 n 是多少?

为避免混淆:我说的是溢出检查,而不是边界检查。例如:如果您有一个指针 p 指向具有 m 个字符的字符串的开头,并且您想在正偏移量 i 处访问该字符,那么您需要检查 i < m 或者您可以间接检查 p + i < p + 米。但是,在后一种情况下,您还必须确保 p + i 不会溢出,即您必须确保 p + i >= p。

更新:好的,如果 i > m,p + i 不是有效的标准 C,无论 p + i 是否实际取消引用或是否溢出。但是,我真正感兴趣的问题是是否存在一个小的 n ,而 p + n在实践中不会溢出。回答这个问题显然需要一些关于现代操作系统如何组织地址空间的知识。

更新 2:听到任何一个特定平台已经很有趣了,即使它不是通用的。最好不是一些晦涩难懂的嵌入式。x86 或基于 Power 的 32 位 Win、Linux 和 Mac 将是最有趣的。

0 投票
13 回答
2698 浏览

c++ - 如果整数溢出, (unsigned int) * (int) 的结果是什么?无符号或整数?

如果整数溢出,结果是(unsigned int) * (int)什么?unsigned还是int?数组索引运算符 ( operator[]) 对char*:intunsigned int其他东西采用什么类型?

我正在审计下面的函数,突然出现了这个问题。该函数在第 17 行有一个漏洞。

考虑两者wh都是非常大的无符号整数。第 9 行的乘法有机会通过验证。

int i现在问题出现在第 17 行。乘以unsigned int w:如果结果是int,则乘积可能是负数,导致访问的位置是 before buf。如果结果为unsigned int,则乘积将始终为正,从而访问位于 之后的位置buf

很难编写代码来证明这一点:int太大。有人对此有想法吗?

是否有任何文件说明产品的类型?我已经搜索过了,但到目前为止还没有找到任何东西。

我想就漏洞而言,是否(unsigned int) * (int)产生unsigned intint无关紧要,因为在编译的目标文件中,它们只是字节。无论产品类型如何,以下代码的工作方式都相同:

因此,乘法返回什么类型并不重要。消费者功能是否采用int或很重要unsigned

这里的问题不是功能有多糟糕,或者如何改进功能以使其更好。该功能无疑存在漏洞。问题是关于函数的确切行为,基于标准中规定的行为。

0 投票
4 回答
3091 浏览

c - 分配给较大宽度整数时的 C 整数溢出行为

如果我在 C 中执行以下代码:

结果它正确打印了“-4000”。但是,我有点困惑:从另一个减去一个更大的无符号整数时不应该有算术溢出吗?这里有什么铸造规则?这个问题似乎有点无聊,所以任何参考都将不胜感激。

0 投票
7 回答
4444 浏览

javascript - 使用 CSS 样式溢出时如何访问显示在 DIV 中的实际文本:隐藏?

我的页面上有以下内容 DIV,它显示动态文本:

它使用以下 CSS 来截断额外的文本:

如果我将此文本加载到 DIV 中:

“Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Praesent aliquam, justo convallis luctus rut​​rum, erat nulla balloon diam, at nonummy quam ante ac quam. Maecenas urna purus, 发酵 id, molestie in, commodo porttitor, felis. Nam blandit quam ut "

... CSS 仅导致以下文本显示在 DIV 中:

“Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Praesent aliquam, justo convallis luctus rut​​rum, erat nulla balloon diam, at nonummy quam ante ac quam. Maecenas urna purus, 发酵 id, molestie in, commodo porttitor, felis. Nam blandit quam ut lacus. Quisque ornare risus quis ligula. Phasellus tristique purus a augue"

这按预期工作。

但是,我想知道是否有某种方法可以使用 JavaScript 访问显示的文本。当我尝试访问innerHTMLDIV 的属性时,它会返回最初加载到 DIV 中的整个文本。

我的最终目标是用省略号(“...”)替换修剪后的内容中的最后一个单词。我想我可以在 JavaScript 中做到这一点,这样它就会显示在所有浏览器中,而不仅仅是 IE,就像 CSS property 一样text-overflow: hidden

有任何想法吗?这可能吗?