9c656a7
diff -up devil-1.7.8/src-IL/src/il_dicom.c~ devil-1.7.8/src-IL/src/il_dicom.c
9c656a7
--- devil-1.7.8/src-IL/src/il_dicom.c~	2009-03-08 08:10:09.000000000 +0100
9c656a7
+++ devil-1.7.8/src-IL/src/il_dicom.c	2009-12-03 12:07:45.000000000 +0100
9c656a7
@@ -427,9 +427,11 @@ ILboolean GetUID(ILubyte *UID)
9c656a7
 		return IL_FALSE;
9c656a7
 
9c656a7
 	ValLen = GetLittleUShort();
9c656a7
+	if (ValLen > 64)
9c656a7
+		return IL_FALSE;
9c656a7
 	if (iread(UID, ValLen, 1) != 1)
9c656a7
 		return IL_FALSE;
9c656a7
-	UID[64] = 0;  // Just to make sure that our string is terminated.
9c656a7
+	UID[ValLen] = 0;  // Just to make sure that our string is terminated.
9c656a7
 
9c656a7
 	return IL_TRUE;
9c656a7
 }