Menu

#82 lbr$set_module on VAX 7.3 ignoring input buffer size.

VMS Bug
open
nobody
None
5
2014-06-06
2014-06-06
No

On VAX/VMS lbr$set_module was found to be always writing 49 bytes to the buffer passed by descriptor even when the buffer was smaller.

This behavior was not seen on OpenVMS Alpha 8.4.

For a work around the input buffer size should be set to LBR$C_MAXHDRSIZ.

In the case that the bug was seen, the code was using the same memory location for the size of the input buffer and the location that lbr$set_buffer would write the data. I did not check to see if that affected the bug.

When the input buffer is too small, the lbr$set_buffer routine returns a LBR-W-HDRTRUNC warning. The symbol LBR$_HDRTRUNC with value 2525184, is missing from the lbrdef header files.

And the mhddef header file has an incorrect definition for mhd$l_dattim. It is not a longword, it is a 64 bit value. Fixing this bug will break existing C programs that need to be coded incorrectly to compensate.

The lbr$set_buffer returns a structure that starts with the mhddef header.

Discussion


Log in to post a comment.