[Issue 17770] Null pointer access in CTFE code
via Digitalmars-d-bugs
digitalmars-d-bugs at puremagic.com
Mon Aug 21 03:00:49 PDT 2017
https://issues.dlang.org/show_bug.cgi?id=17770
ag0aep6g at gmail.com changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |ag0aep6g at gmail.com
--- Comment #1 from ag0aep6g at gmail.com ---
Slightly more reduced, and including a variant that throws an AssertError
instead of segfaulting:
----
struct S { T* t; }
struct T { string name; }
S foo(string name)
{
return S(new T(name[0 .. $]));
}
int bar(string name)
{
version (segfault)
size_t len = name.length; // segfault
else version (asserterror)
string n = name; // AssertError at ddmd/ctfeexpr.d(1854)
return 0;
}
const S s = foo("");
enum b = bar(s.t.name);
----
--
More information about the Digitalmars-d-bugs
mailing list