on main help sign in
fix(non-interactive): check bounds when reading message bytes
1a0a4f5Christian Rocha
internal/app/app.go+6−2
@@ -160,8 +160,12 @@ func (app *App) RunNonInteractive(ctx context.Context, prompt string, quiet bool
160 return fmt.Errorf("agent processing failed: %w", result.Error)
160 return fmt.Errorf("agent processing failed: %w", result.Error)
161 }
161 }
162
162
163− part := result.Message.Content().String()[readBts:]
163+ msgContent := result.Message.Content().String()
164− fmt.Println(part)
164+ if len(msgContent) < readBts {
165+ // XXX: Log accordingly?
166+ return fmt.Errorf("message content is shorter than read bytes: %d < %d", len(msgContent), readBts)
167+ }
168+ fmt.Println(msgContent[readBts:])
165
169
166 slog.Info("Non-interactive run completed", "session_id", sess.ID)
170 slog.Info("Non-interactive run completed", "session_id", sess.ID)
167 return nil
171 return nil