Comments (3)
Additional testing indicates that the buffer overflow occurs when the full path (less the leaf node) is 125 visible characters. (There are also some new line characters, thus the total output message exceeds 128 characters.)
from mdsplus.
Investigation reveals that there are two bugs in the tcl/tcl_directory.c
file.
The buffer overflow occurs when the path length (plus new line characters) exceeds the msg
buffer size. This buffer should be increased in both branches: alpha and mdsplus8.
line 177
In the mdsplus8 branch, there is an additional problem because the node name size is specified incorrectly. The node names only have 63 visible characters (i.e., the trailing null character should not be included).
line 133
line 138
from mdsplus.
Clarification: IMAS and OMAS are abstraction layers above MDSplus and other data stores. Thus, it is unlikely that full IMAS and OMAS paths will be mirrored directly in MDSplus.
However, when designing new MDSplus trees, it is possible that some nodes in the tree will use similar names in order to simplify the mapping from MDSplus to IMAS / OMAS. Thus, those new trees will likely encounter this mdstcl
buffer overflow bug.
from mdsplus.
Related Issues (20)
- TreeGetRecord() returns a misleading error code HOT 4
- MdsIpThreadStatic.c has an extraneous DEBUG define statement
- Enhance the IDL Test Harness HOT 1
- Can I compose a tree to have physical subtrees with different shot numbers? HOT 3
- mdsip.hosts file does not working in mdsip HOT 12
- MDSTCL: a tab completion feature would make it easier to navigate in trees that have very long paths
- MDSplus .data file gets very large HOT 33
- Segfault in libTreeShr.so when doing node deletion with a multi-processing Python program HOT 18
- MDSVALUE in MATLAB breaks when reading Signals HOT 20
- TDIC fails to launch TCL HOT 2
- mdsplus8 has wrong node name sizes in tcl_directory.c HOT 1
- Executing connection.get("_output") returns KeyError: 0 error HOT 3
- Intergrate TDI function cannot add baseline points HOT 2
- Error reporting when using function mdsvalue in Matlab which version——alpha 7.139-60 HOT 2
- There are 22 TDI function files that need spaces around the ".." range symbol
- Feature: add automated MATLAB tests to the build system HOT 1
- Alpha should also track the "tree version" so it can distinguish between file formats (12-char node names vs 63-char) HOT 1
- Include timestamps in the mdsip "errors" log file HOT 6
- TCL's "show current" command is not working with "thick-client" HOT 18
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from mdsplus.