Increase the probability of blowing up badly up during any
use-after-destroy scenarios.
Signed-off-by: Gianni Tedesco <gianni.tedesco@citrix.com>
Acked-by: Ian Campbell <ian.campbell@citrix.com>
Signed-off-by: Ian Jackson <ian.jackson@eu.citrix.com>
#include <stdint.h>
#include <stdlib.h>
+#include <string.h>
#include "libxl.h"
+#define LIBXL_DTOR_POISON 0xa5
+
""" % " ".join(sys.argv))
for ty in [t for t in types if t.destructor_fn is not None and t.autogenerate_destructor]:
f.write("void %s(%s *p)\n" % (ty.destructor_fn, ty.typename))
f.write("{\n")
f.write(libxl_C_type_destroy(ty, "p", True))
+ f.write("\tmemset(p, LIBXL_DTOR_POISON, sizeof(*p));\n")
f.write("}\n")
f.write("\n")
f.close()