Стратегическая онлайн игра 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/