PRWIN9103002: GlobalReAlloc Shrinks >1 MB Block to <1 MB UAE

ID Number: Q70819

3.00

WINDOWS

buglist3.00 fixlist3.10

Summary:

PROBLEM ID: WIN9103002

SYMPTOMS

When the GlobalReAlloc function is used to change the size of a

memory block larger than 1 MB to smaller than 1 MB, an

unrecoverable application error (UAE) occurs either immediately or

when the handle is freed by the GlobalFree function.

CAUSE

In this situation, the GlobalReAlloc function corrupts pointers in

the huge memory object.

RESOLUTION

Microsoft has confirmed this to be a problem in Microsoft Windows

version 3.0. To avoid this problem, use the GlobalAlloc function to

allocate a new block of memory. If required, copy a portion of the

contents of the original block to the new block. Free the original

block with the GlobalFree function.

This problem was corrected in Windows version 3.1.

Additional reference words: 3.00