⬢ DragonFlyBSD Kernel Audit
DF-2235 / fix.diff
← back to finding ↓ download raw
--- a/sys/libiconv/iconv_ucs.c
+++ b/sys/libiconv/iconv_ucs.c
@@ -243,6 +243,11 @@
 
 		} else {
 			/* src code is a proper subset of ENCODING_UNICODE */
+			if (ir < 2) {
+				/* truncated 2-byte sequence */
+				ret = -1;
+				break;
+			}
 			q = ucs;
 			if (dp->convtype & KICONV_UCS_FROM_LE) {
 				*q = *(p + 1);