A long-running dispute led to a fight, and then gunfire at a crowded North Carolina shopping mall on Christmas Eve, causing a panic that ended when an off-duty officer shot and killed a man who pointed a gun in his direction.

Charlotte-Mecklenburg Police said the dead man, identified as Daquan Antonio Westbrook, 18, was the only person shot and there were no other reports of injuries. The shooting was not a random act but rather the result of a feud among people who knew each other — though there was no indication it was gang-related, Chief Kerr Putney of the Charlotte-Mecklenburg Police Department said.

During the fight, a weapon was brandished and shots were fired about 2 p.m. at Northlake Mall in Charlotte, Putney said. Shoppers who were crowding the mall for last-minute gifts hid in stores and locked themselves inside, officials said. Police could be seen blocking all mall entrances.

Jasmine, an employee at an Aldo store inside the mall, told Fox News she heard about five or six gunshots. Aldo employees immediately closed the store gate and went to the back room, Jasmine said. Eventually, mall security came and told people to evacuate, she said.

Jake Wallace, 24, of Boone, North Carolina, was in Dick's Sporting Goods when shots rang out nearby — about 30 feet outside the store, near Journey's shoe store on the lower level, according to police.

"I thought someone dropped something. It was extremely loud. Didn't think anything of it," Wallace told the Associated Press. "You don't think gunshots. But then I heard a rapid fire. Once hearing that, there was no mistaking it. It sounded like someone was unloading a clip."

Chaos erupted as shoppers dove for cover or tried to get out the door, Wallace said.

Don Willis, who works as a valet at the mall, said he heard gunshots, then saw a wave of people exiting the mall.

"It was wild. I heard the first shot and I thought, 'Wait. What was that?' And kind of like started turning around and walking and saw this huge line of people — wave of people coming — and I thought a bomb was about to go off, and I just took off," he said.

Putney said Officer Thomas Ferguson was working off-duty at the mall when he heard the shots and confronted Westbrook, who pointed a gun in his direction.

The officer then "fired his service weapon," Putney said. The suspect was given emergency aid, but medics pronounced him dead shortly afterward, officials said.

The officer was placed on administrative leave pending the outcome of an investigation, Putney said. Multiple weapons were found at the scene. No officers were injured. 

"That is part of the investigation," Putney said. "The good thing about this case is that there are a lot of witnesses."