2009-07-16

クレジットカードで215京円を請求してしまった原因は、非常にしょーもないものだったらしい

Slashdot IT Story | Software Glitch Leads To $23,148,855,308,184,500 Visa Charges

例の215京円の請求書は、ソフトウェアの不具合が原因だというのは、すでに言われていた。では、具体的にどんな不具合だったのか。それを推測した人がいる。それによるとこうだ。

まず、小数点の計算を省略するため、データは、金額を100倍して格納されているはずだ。すると、データ上の数値は、231488553081845 * 100で、2314885530818450000、ということになる。これを16進数に変換すると、20 20 20 20 20 20 12 50、となる。C/C++プログラマならもう気がついたと思うが、hexで20といえば、空白文字である。つまり、何らかの理由で、データに空白文字が入れられてしまったのだろう、とのこと。

一応、それらしい推測だ。ソフトウェアの不具合の原因なんて、分かってみればものすごくしょーもないことが多いのだろうが、こういう形で推測されると、やはり苦笑するしかない。

No comments: