The problem is the difference in measure between French and English feet, the French foot being three-fourths of an inch longer than the English equivalent. Too many English language authors take the French measure of Napoleon without looking up unit measure of the period and converting it. Therefore, because Napoleon's height in French feet is five feet two inches, that is automatically used.
As for 'all' of the sources stating that Napoleon was short, perhaps you should not resort to sweeping statements, most of the time they are wrong.