
The Pirates, who had thrown three straight shutouts, and five in the previous six, saw their streak of scoreless innings end at 35.
Locke (4-3) was followed by Arquimedes Caminero, Tony Watson and Mark Melancon, who combined for scoreless relief over the final three innings with Melancon getting his 22nd save.
The White Sox, who snapped a string of 30 scoreless innings with two runs in the sixth, have dropped a season-high six straight.
Locke gave up three hits and had a season-high eight strikeouts.
White Sox starter John Danks (3-7) settled down after a shaky first inning to allow three runs on five hits in seven hittings.
