Apparent Stack Corruption with std.windows.registry

Jay Jacobson jjjacobson at gmail.com
Fri Jan 12 18:47:36 PST 2007


I've been working with the example from this location:
http://www.dsource.org/projects/tutorials/wiki/RegistryEnumerationExample

It is obvious from that example that there is some kind of issue with the module. However, I've put a simple test app together based on that code which appears to show some form of what looks like stack corruption going on around that module. I was able to generate an uncorrupted file by going within the module (std.windows.registry) for the output.

There are three files created by the test app (dumpuninstall.d):
Installed.txt - which is corrupt
Installed2.txt - which is not corrupt
Installed3.txt - which is corrupt, but which is basically on the receiving end of a trivial return from where Installed2.txt is created within the module.

You can comment and uncomment some trivial code and change what the corruption looks like (within the modified registry2.d file).

The same registry values always appear to be corrupted. I haven't seen a definite reason for why that is. Perhaps it has something to do with the number of characters ran through the interface or possibly some DWORD reads (though that isn't consistent in all cases).

I've gotten what I need with the uncorrupted Installed2.txt. I am posting this here so that perhaps, the use of the interface as it is intended might be enabled by someone with more D experience. 

I've only been working with D for a few days, but I'm really liking it.
Thanks for the effort,
Jay

-------------- next part --------------
A non-text attachment was scrubbed...
Name: src.zip
Type: application/zip
Size: 12780 bytes
Desc: not available
Url : http://lists.puremagic.com/pipermail/digitalmars-d-bugs/attachments/20070112/b7a97f4b/attachment.zip 


More information about the Digitalmars-d-bugs mailing list