Zimbabwe's parliament has approved a controversial law that ostensibly promotes patriotism but is being condemned by the opposition as a "draconian" attempt to stifle dissent ahead of national elections.

"What they are criminalizing is differing opinion against Zanu-PF,” says spokesman for the opposition Citizens Coalition for Change (CCC) party, Ostallos Siziba.

In the most extreme cases, violators run the risk of up to 20 years in prison.