Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fix nullptr dereference when autoreplacing vehicle with no orders in GetIncompatibleRefitOrderIdForAutoreplace #9387

merged 1 commit into from Jun 19, 2021


Copy link

@JGRennison JGRennison commented Jun 19, 2021

Motivation / Problem

A null pointer dereference occurs when GetIncompatibleRefitOrderIdForAutoreplace is called on a vehicle with no orders, such that the order list is null.
(This also includes autoreplacing of free-wagon chains).

This was introduced in PR #8169.


Handle the case where the order list is null in GetIncompatibleRefitOrderIdForAutoreplace.



Checklist for review

Some things are not automated, and forgotten often. This list is a reminder for the reviewers.

  • The bug fix is important enough to be backported? (label: 'backport requested')
  • This PR affects the save game format? (label 'savegame upgrade')
  • This PR affects the GS/AI API? (label 'needs review: Script API')
    • ai_changelog.hpp, gs_changelog.hpp need updating.
    • The compatibility wrappers (compat_*.nut) need updating.
  • This PR affects the NewGRF API? (label 'needs review: NewGRF')

glx22 previously approved these changes Jun 19, 2021
Copy link

@glx22 glx22 left a comment

Commit message needs to be fixed, but code looks good.

… no orders

In GetIncompatibleRefitOrderIdForAutoreplace
glx22 approved these changes Jun 19, 2021
@TrueBrain TrueBrain merged commit 8a33e98 into OpenTTD:master Jun 19, 2021
15 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
None yet
None yet

Successfully merging this pull request may close these issues.

None yet

3 participants