size_t may be typedef'ed to unsigned int on your system but this may not be true on other systems, particularly embedded (non-X86) systems. By ANSI standard, unsigned int can me as small as 16 bits.
size_t is defined on each system to be guaranteed to be large enough to give the size of any possible object on that system.
In the case of this vulnerability, I'm guessing that (unsigned int) -> (size_t) was not actually part of the fix, at least on X86 systems, but part of an associated clean-up to guarantee that no problems remain.
It's also just good programming practice.