$OpenBSD: patch-algebra_h,v 1.2 2011/06/24 07:55:17 dcoppa Exp $
--- algebra.h.orig	Fri Aug  6 18:44:30 2010
+++ algebra.h	Sun Oct 24 10:35:46 2010
@@ -47,7 +47,8 @@ template <class T> class CRYPTOPP_NO_VTABLE AbstractRi
 	typedef T Element;
 
 	AbstractRing() {m_mg.m_pRing = this;}
-	AbstractRing(const AbstractRing &source) {m_mg.m_pRing = this;}
+	AbstractRing(const AbstractRing &source): AbstractGroup<T>(source)
+	    {m_mg.m_pRing = this;}
 	AbstractRing& operator=(const AbstractRing &source) {return *this;}
 
 	virtual bool IsUnit(const Element &a) const =0;
@@ -120,7 +121,7 @@ struct BaseAndExponent
 {
 public:
 	BaseAndExponent() {}
-	BaseAndExponent(const T &base, const E &exponent) : base(base), exponent(exponent) {}
+	BaseAndExponent(const T &b, const E &e) : base(b), exponent(e) {}
 	bool operator<(const BaseAndExponent<T, E> &rhs) const {return exponent < rhs.exponent;}
 	T base;
 	E exponent;
