The wallet code, after creating a new empty wallet, grabs a key from the mempool and gives it the empty label:
cRj4c74AFYdH9W1vbM3UgnaCeGbwztu3qb11NgDReiudtS2Q1ZAr 2016-07-28T10:48:28Z label= # addr=mwR8SR9sfKk7Q8z99xpdcCUNtccq81iRup hdkeypath=m/0'/0'/0'
I'm fairly sure this has always been the case, but is this necessary?
Remember that when using wallet encryption, this key will have been generated pre-encryption, and with HD, with the old seed. So if people actually use the address, instead of creating one when they need it, there could be a small risk.
The code to do this is here: https://github.com/bitcoin/bitcoin/blob/master/src/wallet/wallet.cpp#L3306 Reading the comments this appears to be a leftover from the "default address" concept which was removed in 0.4.0? Do we still need it?