Cameron Diaz has claimed she once bought drugs from Snoop Dogg.

The 38-year-old actress - who plays a teacher who smokes marijuana in her upcoming film 'Bad Teacher' - is convinced she once purchased the narcotic, known as weed, from the rapper when they were at school together.

She said: "We went to high school together; he was a year older than me. He was very tall and skinny and wore lots of ponytails in his hair and I'm pretty sure I got weed from him. I had to have!"

The 'Green Hornet' star also confessed that her school days were "rough" and as well as experimenting with drugs she got onto fights.

Cameron told US TV talk show host George Lopez: "Anytime you heard the locker slam, you'd turn and there was a girl taking off her earrings, she's pulling her hair back in a ponytail and she's taking all her friends' rings and coming at you."

'"It was like, 'OK, everybody get back' and you'd be wondering, 'Is she coming at me?'

"I used to get in fights with boys more than girls, for some reason boys liked to fight me. But one time in junior high, I had this girl come up to me in the locker room from behind and pull my hair back. I had to shut her down!"

Snoop Dogg, 39, was previously banned from entering the UK because of his convictions for drugs and firearms offences.