PRB: UAE Calling HP DeskJet ExtDeviceMode API

ID Number: Q74770

3.00

WINDOWS

Summary:

SYMPTOMS:

When an application calls the ExtDeviceMode() entry point of the

Hewlett-Packard (HP) DeskJet Plotter driver, an unrecoverable

application error (UAE) occurs if the fifth parameter points to a

buffer that is less than 32 bytes long.

CAUSE:

The fifth parameter to ExtDeviceMode is the port string. The HP

DeskJet driver uses lmemcpy() when it inspects this parameter. The

driver specifies 32 bytes to be copied. Thus, if the source has

fewer than 32 bytes, the copy operation will reach the end of the

buffer unexpectedly and cause a UAE.

RESOLUTION:

Always pass a buffer at least 32 bytes long as the fifth parameter

to ExtDeviceMode.