on main help sign in
fix(non-interactive): check bounds when reading message bytes
commit1a0a4f5e07f90c06f9c60013f2a44edfd8b0a1f8 authorChristian Rocha <christian@rocha.is> dateMon 21 Jul 2025, 15:05 (1 year ago) parent2c0d70c
1 file changed+6−2
internal/app/app.go+6−2
internal/app/app.go+6−2
@@ -160,8 +160,12 @@ func (app *App) RunNonInteractive(ctx context.Context, prompt string, quiet bool
160160 return fmt.Errorf("agent processing failed: %w", result.Error)
161161 }
162162
163− part := result.Message.Content().String()[readBts:]
164− fmt.Println(part)
163+ msgContent := result.Message.Content().String()
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:])
165169
166170 slog.Info("Non-interactive run completed", "session_id", sess.ID)
167171 return nil