Fix pnm test for short files and add X bitmap as recognized type
diff --git a/Lib/imghdr.py b/Lib/imghdr.py
index b653cde..981340f 100644
--- a/Lib/imghdr.py
+++ b/Lib/imghdr.py
@@ -37,7 +37,8 @@
 
 def test_pnm(h, f):
 	# PBM, PGM, PPM (portable {bit,gray,pix}map; together portable anymap)
-	if h[0] == 'P' and h[1] in '123456' and h[2] in ' \t\n\r':
+	if len(h) >= 3 and \
+		h[0] == 'P' and h[1] in '123456' and h[2] in ' \t\n\r':
 		return 'pnm'
 
 tests.append(test_pnm)
@@ -56,6 +57,14 @@
 
 tests.append(test_rast)
 
+def test_xbm(h, f):
+	# X bitmap (X10 or X11)
+	s = '#define '
+	if h[:len(s)] == s:
+		return 'xbm'
+
+tests.append(test_xbm)
+
 
 #--------------------#
 # Small test program #