We know that current is passed through a circuit if there is a potential difference across the two terminals of the conductor. But, in the case of a short circuit, we say that there is no potential difference between the two terminals and a large amount of current is passed through it. This is a violation of Ohm's law. Isn't it wrong to say that there is no potential difference between the terminals?
Of course in practice there is always some resistance (some 0.001-0.0001 Ohms for the wire) + some internal resistance in the battery/power supply (0.001-1 Ohm). And voltage drop across these resistances will be according to Ohm's law.
So there is no violation, if you count all these parasitic resistances.