google / google/sanitizers

Undef LLVM optimizations are harmful

Open
#558 4 comments 0 reactions 1 assignee Claimed by @eugenis View on GitHub
Priority-Medium ProjectMemorySanitizer Status-Accepted Type-Defect
Dominant language
C
Stars
12.5k
Forks
1.1k
PR merge metrics
No merged PRs in 30d

Description

Originally reported on Google Code with ID 55

```
See https://code.google.com/p/pdfium/issues/detail?id=10 for the repro

msan reports:
==14288== WARNING: MemorySanitizer: use-of-uninitialized-value
#0 0x7f4b558d2087 in PS_Conv_ToFixed third_party/pdfium/core/src/fxge/fx_freetype/src/../fxft2.5.01/src/psaux/psconv.c:275
#1 0x7f4b558ba581 in ps_parser_load_field third_party/pdfium/core/src/fxge/fx_freetype/src/../fxft2.5.01/src/psaux/psobjs.c:1105
...
ORIGIN: invalid (0). Might be a bug in MemorySanitizer origin tracking.

Valgrind correctly reports the origin:
==14111== Conditional jump or move depends on uninitialised value(s)
==14111== at 0x64F41B: PS_Conv_ToFixed (psconv.c:275)
==14111== by 0x64A6B8: ps_parser_load_field (psobjs.c:1109)
==14111== by 0x67AB9F: t1_load_keyword (t1load.c:1016)
==14111== by 0x67CBA3: parse_dict (t1load.c:2001)

==14111== Uninitialised value was created by a stack allocation
==14111== at 0x64F242: PS_Conv_ToFixed (psconv.c:195)

```

Reported by `konstantin.s.serebryany` on 2014-06-04 13:59:53

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.