| Стратегическая онлайн игра DestinySphere http://vskazke.ds-game.ru/ |
|
| аукционный баг http://vskazke.ds-game.ru/viewtopic.php?f=832&t=186274 |
Страница 1 из 1 |
| Автор: | d_l [ Сб сен 22, 2007 14:03 ] |
| Заголовок сообщения: | аукционный баг |
Если попытаться заплатить за лот с торговлей несколько ккк, выдается сообщение о том, что максимальная возможная стоимость - 2.4ккк. Проблема в том, что реальный максимум, похоже, меньше этого значения - те же 2.4ккк удается ввести, но после рефреша в поле оказывается отрицательное значение, которое потом можно перебить любым положительным. С практической точки зрения баг позволяет сбросить результаты любого аукциона и назначить меньшую цену. Что произойдет, если отрицательное значение доживет до окончания торгов, не проверялось, но возможны интересные эффекты. P.S. эридан, премиум, vista business+firefox 2.0.0.7+flash 9. |
|
| Автор: | a_shir [ Сб сен 22, 2007 14:33 ] |
| Заголовок сообщения: | |
Угу, я сам в этом участвовал и перебил твою отрицательную ставку. Что было потом - не проследил, к сожалению. Кстати, при выставлении товара на торгователь система пишет, что максимальная цена 2ккк ровно. Реально это может быть, кстати, (по моим догадкам) 2^31-1, то есть 2147483648. Это связано с особенностями программирования. Если тип данных типа Integer, как это было в паскале, то бОльшие значения соответствуют отрицательным числам, что, видимо, и произошло. Хотя это всё мои догадки. Что думают хелперы? Какова реальная максимальная ставка? И можно ли сделать так, чтобы её уже нельзя было перебить никакими "отрицательными значениями"?... |
|
| Автор: | d_l [ Сб сен 22, 2007 14:55 ] |
| Заголовок сообщения: | |
Да, симптомы целочисленного переполнения налицо. Нужно просто поправить проверку ввода, приведя ее в соответствие с реальным лимитом. |
|
| Страница 1 из 1 | Часовой пояс: UTC+03:00 |
| Powered by phpBB® Forum Software © phpBB Limited https://www.phpbb.com/ |
|