One Steve Limit: The intelligence officer called Major Fuller in the film was actually called Brian Urquhart. However since Sean Connery's character, the commander of the British airborne division was also historically named Roy Urquhart it was decided to rename the more minor character played by the unknown actor.
Lt.-Colonel Frost objected to a scene where the actor playing him (Anthony Hopkins) runs across a street under fire. He always walked. It was decided to leave the scene as it was, for fear the audience would have a What an Idiot reaction. Hopkins was also unable to force himself walk as the fake explosions and gunfire was too realistic for him to remain calm.
Author William Goldman mentions three examples that were criticized. First, a British general (Dirk Bogarde) who sends his troops to a supposedly undefended territory, although he actually has information about German troops being there, but doesn't care. Second, James Caan forcing a medical officer to operate on his captain, who seems to be dead (which he isn't, of course). Third, Ryan O'Neal as General James Gavin who was deemed to be too young for the role by the critics — despite being exactly the same age as the real Gavin had been at that time.
General Browning's characterization generated considerable controversy, with Browning's widow Daphne du Maurier vehemently denouncing it. Dirk Bogarde himself (who knew Browning slightly during the war) wasn't entirely comfortable with Browning's portrayal. The objections were less that Browning was shown making a mistake than that the movie makes him a Big Bad, downplaying the role of Field Marshal Montgomery and others who actually planned the operation.