Skip to content
This repository was archived by the owner on Nov 20, 2020. It is now read-only.

Commit c95e751

Browse files
committed
handle array out of range error
1 parent 2e99f23 commit c95e751

File tree

1 file changed

+29
-0
lines changed

1 file changed

+29
-0
lines changed

pkg/gui/resource.go

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -58,6 +58,11 @@ func (gui *Gui) onResourceClick(g *gocui.Gui, v *gocui.View) error {
5858
func (gui *Gui) handleJobSelect(v *gocui.View) error {
5959
// Find Selected Job
6060
jobSelected := gui.panelStates.Resource.SelectedLine
61+
62+
if jobSelected < 0 || jobSelected > len(gui.data.JobData) {
63+
return nil
64+
}
65+
6166
job := gui.data.JobData[jobSelected]
6267

6368
infoView := gui.getInfoView()
@@ -89,6 +94,11 @@ func (gui *Gui) handleJobSelect(v *gocui.View) error {
8994
func (gui *Gui) handleDeploymentSelect(v *gocui.View) error {
9095
// Find Selected Deployment
9196
deploymentSelected := gui.panelStates.Resource.SelectedLine
97+
98+
if deploymentSelected < 0 || deploymentSelected > len(gui.data.DeploymentData) {
99+
return nil
100+
}
101+
92102
deployment := gui.data.DeploymentData[deploymentSelected]
93103

94104
infoView := gui.getInfoView()
@@ -120,6 +130,11 @@ func (gui *Gui) handleDeploymentSelect(v *gocui.View) error {
120130
func (gui *Gui) handleConfigMapSelect(v *gocui.View) error {
121131
// Find Selected ConfigMap
122132
configMapSelected := gui.panelStates.Resource.SelectedLine
133+
134+
if configMapSelected < 0 || configMapSelected > len(gui.data.ConfigMapData) {
135+
return nil
136+
}
137+
123138
configMap := gui.data.ConfigMapData[configMapSelected]
124139

125140
infoView := gui.getInfoView()
@@ -151,6 +166,11 @@ func (gui *Gui) handleConfigMapSelect(v *gocui.View) error {
151166
func (gui *Gui) handleSecretSelect(v *gocui.View) error {
152167
// Find Selected Secret
153168
secretSelected := gui.panelStates.Resource.SelectedLine
169+
170+
if secretSelected < 0 || secretSelected > len(gui.data.SecretData) {
171+
return nil
172+
}
173+
154174
secret := gui.data.SecretData[secretSelected]
155175

156176
infoView := gui.getInfoView()
@@ -182,6 +202,11 @@ func (gui *Gui) handleSecretSelect(v *gocui.View) error {
182202
func (gui *Gui) handleServiceSelect(v *gocui.View) error {
183203
// Find Selected Service
184204
serviceSelected := gui.panelStates.Resource.SelectedLine
205+
206+
if serviceSelected < 0 || serviceSelected > len(gui.data.ServiceData) {
207+
return nil
208+
}
209+
185210
service := gui.data.ServiceData[serviceSelected]
186211

187212
infoView := gui.getInfoView()
@@ -214,6 +239,10 @@ func (gui *Gui) handlePodSelect(v *gocui.View) error {
214239

215240
// Find Selected Pod
216241
podSelected := gui.panelStates.Resource.SelectedLine
242+
if podSelected < 0 || podSelected > len(gui.data.PodData) {
243+
return nil
244+
}
245+
217246
pod := gui.data.PodData[podSelected]
218247

219248
infoView := gui.getInfoView()

0 commit comments

Comments
 (0)