diff --git a/iccread.c b/iccread.c
index 954b473..2bb0014 100644
--- a/iccread.c
+++ b/iccread.c
@@ -820,12 +820,12 @@
 
 static uint16_t float_to_u8Fixed8Number(float a)
 {
-	if (a > (255. + 255./256))
+	if (a > (255.f + 255.f/256))
 		return 0xffff;
-	else if (a < 0.)
+	else if (a < 0.f)
 		return 0;
 	else
-		return floor(a*256. + .5);
+		return floor(a*256.f + .5f);
 }
 
 static struct curveType *curve_from_gamma(float gamma)
@@ -1159,9 +1159,11 @@
 	be32 length_be;
 	void *data;
 
-	fread(&length_be, sizeof(length), 1, file);
+	if (fread(&length_be, 1, sizeof(length_be), file) != sizeof(length_be))
+		return BAD_VALUE_PROFILE;
+
 	length = be32_to_cpu(length_be);
-	if (length > MAX_PROFILE_SIZE)
+	if (length > MAX_PROFILE_SIZE || length < sizeof(length_be))
 		return BAD_VALUE_PROFILE;
 
 	/* allocate room for the entire profile */
diff --git a/qcmsint.h b/qcmsint.h
index 0de134b..3818f0f 100644
--- a/qcmsint.h
+++ b/qcmsint.h
@@ -226,9 +226,11 @@
 #define inline _inline
 #endif
 
+/* produces the nearest float to 'a' with a maximum error
+ * of 1/1024 which happens for large values like 0x40000040 */
 static inline float s15Fixed16Number_to_float(s15Fixed16Number a)
 {
-	return ((int32_t)a)/65536.;
+	return ((int32_t)a)/65536.f;
 }
 
 static inline s15Fixed16Number double_to_s15Fixed16Number(double v)
diff --git a/qcmstypes.h b/qcmstypes.h
index 26c138a..2d98c0c 100644
--- a/qcmstypes.h
+++ b/qcmstypes.h
@@ -25,9 +25,7 @@
 #ifdef __OS2__
 /* OS/2's stdlib typdefs uintptr_t. So we'll just include that so we don't collide */
 #include <stdlib.h>
-#elif defined(__FreeBSD__)
-/* FreeBSD typedefs uintptr_t in /usr/include/sys/types.h */
-#else
+#elif !defined(__intptr_t_defined) && !defined(_UINTPTR_T_DEFINED)
 typedef PRUptrdiff uintptr_t;
 #endif
 #endif
