memcmp does 8-byte reads if length > 8, which might cross a page-boundary and
crash. Not strictly a memcmp bug, since manpage doesn't say that memcmp must stop at
first difference. Linux doesn't crash because it only does 4/8-byte reads on 4/8-byte aligned
addresses, hence it can never cross a page boundary.
Fix this by making sure that what we request from memcmp is entirely readable.
... | ... |
@@ -1,3 +1,7 @@ |
1 |
+Tue Oct 5 17:03:43 EEST 2010 (edwin) |
|
2 |
+------------------------------------- |
|
3 |
+ * libclamav/pdf.c: Fix crash on 64-bit Solaris Intel (bb #2314). |
|
4 |
+ |
|
1 | 5 |
Tue Sep 28 16:25:03 EEST 2010 (edwin) |
2 | 6 |
------------------------------------- |
3 | 7 |
* libclamav/c++: allow building with external LLVM 2.8rc2. |