This was cleared up in June the original url is a 404 this is a cached version from google
http://webcache.googleusercontent.com/search?q=cache:gwFiPDHUmRgJ:bitcoinmafia.com/bittys-blog/supercoin-scandal/+&cd=2&hl=en&ct=clnk&gl=usThe problem in SuperCoins case, however, is that their interpretation of the code snippet was not only wrong, it was oh hell no wrong. DigiByte over at Bitcoin Talk explains in detail the reason it is wrong, but let me try to sum it up. This is the snippet of offending code:
if (dAmount <= 0.0 || dAmount > 150000000.0)
and
static const int64_t MAX_MONEY = 150000000 * COIN;
static const int64_t POW_MAX_MONEY = 50000000 * COIN;
Lets look at the first line of code. dAmount is a variable representing a transaction amount. So what that line of code is saying is IF the transaction amount is less than or equal to 0 OR if it is greater than 150,000,000 coins THEN [do whatever comes next in the coin's source code]. Thats all. Nothing nefarious or mysterious there.
As for the second part of the code, MAX_MONEY and POW_MAX_MONEY do NOT indicate how many coins will be generated. All that those values do is establish a threshold for the maximum transaction size that can be sent over the network.