diff -Nru boost1.49-1.49.0/debian/changelog boost1.49-1.49.0/debian/changelog
--- boost1.49-1.49.0/debian/changelog	2012-06-23 02:43:10.000000000 -0400
+++ boost1.49-1.49.0/debian/changelog	2013-02-03 20:18:40.000000000 -0500
@@ -1,3 +1,10 @@
+boost1.49 (1.49.0-3.2) unstable; urgency=high
+
+  * Non-maintainer upload by the Security Team..
+  * Fix UTF-8 validation issues (closes: #699649).
+
+ -- Michael Gilbert <mgilbert@debian.org>  Mon, 04 Feb 2013 01:16:11 +0000
+
 boost1.49 (1.49.0-3.1) unstable; urgency=high
 
   * Non-maintainer upload by the Security Team.
diff -Nru boost1.49-1.49.0/debian/patches/boost_locale_utf.patch boost1.49-1.49.0/debian/patches/boost_locale_utf.patch
--- boost1.49-1.49.0/debian/patches/boost_locale_utf.patch	1969-12-31 19:00:00.000000000 -0500
+++ boost1.49-1.49.0/debian/patches/boost_locale_utf.patch	2013-02-03 20:16:03.000000000 -0500
@@ -0,0 +1,48 @@
+--- a/boost/locale/utf.hpp	(revision 81589)
++++ b/boost/locale/utf.hpp	(revision 81590)
+@@ -219,16 +219,22 @@
+                 if(BOOST_LOCALE_UNLIKELY(p==e))
+                     return incomplete;
+                 tmp = *p++;
++                if (!is_trail(tmp))
++                    return illegal;
+                 c = (c << 6) | ( tmp & 0x3F);
+             case 2:
+                 if(BOOST_LOCALE_UNLIKELY(p==e))
+                     return incomplete;
+                 tmp = *p++;
++                if (!is_trail(tmp))
++                    return illegal;
+                 c = (c << 6) | ( tmp & 0x3F);
+             case 1:
+                 if(BOOST_LOCALE_UNLIKELY(p==e))
+                     return incomplete;
+                 tmp = *p++;
++                if (!is_trail(tmp))
++                    return illegal;
+                 c = (c << 6) | ( tmp & 0x3F);
+             }
+ 
+--- a/libs/locale/test/test_codepage_converter.cpp	(revision 81589)
++++ b/libs/locale/test/test_codepage_converter.cpp	(revision 81590)
+@@ -140,6 +140,20 @@
+         TEST_TO("\xf8\x90\x80\x80\x80",illegal);  // 400 0000
+         TEST_TO("\xfd\xbf\xbf\xbf\xbf\xbf",illegal);  // 7fff ffff
+ 
++        std::cout << "-- Invalid trail" << std::endl;
++        TEST_TO("\xC2\x7F",illegal);
++        TEST_TO("\xdf\x7F",illegal);
++        TEST_TO("\xe0\x7F\x80",illegal);
++        TEST_TO("\xef\xbf\x7F",illegal);
++        TEST_TO("\xe0\x7F\x80",illegal);
++        TEST_TO("\xef\xbf\x7F",illegal);
++        TEST_TO("\xf0\x7F\x80\x80",illegal);
++        TEST_TO("\xf4\x7f\xbf\xbf",illegal);
++        TEST_TO("\xf0\x90\x7F\x80",illegal);
++        TEST_TO("\xf4\x8f\x7F\xbf",illegal);
++        TEST_TO("\xf0\x90\x80\x7F",illegal);
++        TEST_TO("\xf4\x8f\xbf\x7F",illegal);
++
+         std::cout << "-- Invalid length" << std::endl;
+ 
+         /// Test that this actually works
diff -Nru boost1.49-1.49.0/debian/patches/series boost1.49-1.49.0/debian/patches/series
--- boost1.49-1.49.0/debian/patches/series	2012-06-23 02:41:42.000000000 -0400
+++ boost1.49-1.49.0/debian/patches/series	2013-02-03 20:16:03.000000000 -0500
@@ -11,3 +11,4 @@
 gcc4.7_trac-6431.patch
 gcc4.7_trac-6331.patch
 CVE-2012-2677_trac-78326.patch
+boost_locale_utf.patch
