Hi,

uintptr_t SrcMgr::FileInfo::Data is used to store both a pointer value
and some additional flags. getContentCache-function tries to get only
the raw pointer value from Data, but fails to do so since it uses
wrong size int. At least on Windows 8 with 64-bit Visual Studio 2012
this function always returns corrupted pointers.

On some platforms unsigned long long would be actually too large for
this use. If this triggers a warning on gcc, maybe it should be
written like ~uintptr_t(7UL).

Btw, why on earth would you like to store pointers and additional
flags to the same variable, ran out of bits?

-- 
Riku Palomäki
MultiTouch

Attachment: srgmgr.fileinfo.pointer.crash.patch
Description: Binary data

_______________________________________________
cfe-commits mailing list
[email protected]
http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits

Reply via email to