Police say 23-year-old Todd Canady of Waco was waiting in the checkout line at the Walmart on Forest Lane at Abrams Road about 10:15 p.m. when he reached for his wallet.
Instead, he accidentally fired the pistol in his pocket, police said.
The bullet struck Canady in the buttock, then ricochet on the floor and broke into pieces. Bullet fragments wounded two nearby children and a woman, 27-year-old Cassie Schinto, according to Sr. Cpl. Sherri Jeffrey.
An off-duty officer tried to confront Canady, but police say he ran away.