@@ -58,6 +58,11 @@ func (gui *Gui) onResourceClick(g *gocui.Gui, v *gocui.View) error {
5858func (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 {
8994func (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 {
120130func (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 {
151166func (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 {
182202func (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