Skip to content

The mds_value_remote_expression() function fails with buffer overflow errors #3042

@mwinkel-dev

Description

@mwinkel-dev

Affiliation
DIII-D (submitted on behalf of KeithE)

Version(s) Affected
Client = alpha-7-139-59 and stable-7-153-3
Server = GA's branch

Platform(s)
Client = RHEL 8.10
Server = RHEL 8.10

Installation Method(s)
Client = RPMs from mdsplus.org
Server = build from source?

Describe the bug
A client computer is running a C program that uses MdsValue() to read 11 single-precision IEEE floats from a tree stored on an MDSplus archive server. The C program often causes TDI to crash, including triggering the TDI-E-BOMB error. The C program was analyzed by an "address sanitizer" which detected buffer overflows in the mds_value_remote_expression() function. The problem only occurs with the IEEE floats; it works reliably if only reading ints from the tree.

To Reproduce
See posts below.

Expected behavior
Reading floats from an MDSplus archive server via mdsip should not cause TDI to crash.

Screenshots
n/a

Additional context
The address sanitizer output was sent via email, but is quite lengthy. When this issue is reproduced on a development system, more details will be provided.

Metadata

Metadata

Assignees

Labels

US PrioritybugAn unexpected problem or unintended behaviortool/mdsipRelates to one of the MDSplus over IP tools (mdsipd, mdsipsd, mdsip_server)

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions