Microsoft KB Archive/152384

= FIX: DDX for Short Causes Stack Corruption =

Article ID: 152384

Article Last Modified on 11/18/2003

-

APPLIES TO


 * Microsoft Visual C++ 4.0 Standard Edition
 * Microsoft Visual C++ 4.1 Subscription
 * Microsoft Foundation Class Library 4.2

-



This article was previously published under Q152384



SYMPTOMS
Using the Class Wizard to associate a short with a control on a dialog may result in the following behavior:


 * Access Violation when UpdateData(TRUE) is called. -or-


 * Other member variables of the dialog are corrupted after the call to UpdateData(TRUE).



CAUSE
The overloaded DDX routine for short has a bug where it assumes that the variable is of type int instead of short. This may result in stack corruption because a short occupies less space than an int.



RESOLUTION
To resolve this problem, use an int instead of a short. If you want to limit the values to the range of values that can be represented by a short, set the appropriate limits for the int variable.



STATUS
Microsoft has confirmed this to be a bug in the Microsoft products listed at the beginning of this article. This bug was corrected in Visual C++ 32- bit Edition version 4.2.

Additional query words: kbVC400bug 4.00 4.10 4.20 vcfixlist420 DDX_Text short DDX_FieldText MfcUI

Keywords: kbbug kbfix kbnoupdate kbvc420fix kbuidesign KB152384

-

[mailto:TECHNET@MICROSOFT.COM Send feedback to Microsoft]

© Microsoft Corporation. All rights reserved.