Or she makes a choice to override her own programming.
I'm not certain if that's possible. In T3 the T-850 was able to override its programming because it wasn't him in the 'driver's seat' so to speak. He was being remotely controlled by the T-X and was able to retake control of his systems long enough to deactivate and reboot. I'm not certain if Cameron would be able to do such a reboot.
It wouldn't be possible as she is programmed. Then again, skynet wasn't programmed to wipe out the human race. It went above its programming and started making decisions for itself.
Besides... the Rivernator is special. Or something.