Fix directory traversal

This commit is contained in:
2020-12-13 20:33:05 -06:00
parent 7e70692893
commit 2a0bf35dc9

View File

@@ -34,7 +34,7 @@ export default connect(mapStateToProps, mapDispatchToProps)(class extends IPCCon
state = { state = {
active_directory: '/', active_directory: '/',
items: [], items: [],
previous_directory: '', previous: [],
} }
componentDidMount() { componentDidMount() {
@@ -89,11 +89,16 @@ export default connect(mapStateToProps, mapDispatchToProps)(class extends IPCCon
<div key={'dir_' + idx} style={{...style}}> <div key={'dir_' + idx} style={{...style}}>
<Button buttonStyles={{textAlign: 'left'}} <Button buttonStyles={{textAlign: 'left'}}
clicked={() => { clicked={() => {
const current_path = path === '..' ? '' : this.state.active_directory; const previous = [...this.state.previous];
if (path === '..') {
path = previous.pop();
} else {
previous.push(this.state.active_directory);
}
this.setState({ this.setState({
items: [], items: [],
active_directory: path === '..' ? this.state.previous_directory : path, active_directory: path,
previous_directory: current_path, previous,
}, () => { }, () => {
this.grabDirectoryItems(); this.grabDirectoryItems();
}); });