Commit 184f274
committed
getPlatformDisplayAngle: Fix std::vector scope error
The std::vector<const char*> variables were scoped to only within the
conditional blocks for graphicsenv_flags::feature_overrides(). However,
pointers to those vectors were added to the std::vector<EGLAttrib> attrs
which is passed to eglGetPlatformDisplay(), leading to a use-after-free
and ANGLE crashing due to a SIGSEGV.
Move the declarations of enabled/disabled std::vectors next to attrs so
their lifetimes match. Also, add a comment about why they are declared
there, so they aren't erroneously moved back inside the conditional
blocks where they are used in the future.
Bug: 372694741
Test: CQ, Manual verification
Flag: com.android.graphics.graphicsenv.flags.feature_overrides
Change-Id: I85a361819e082bc546933e2839e3741a6b4c4ffd1 parent 03ec059 commit 184f274
1 file changed
Lines changed: 11 additions & 10 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
134 | 134 | | |
135 | 135 | | |
136 | 136 | | |
| 137 | + | |
| 138 | + | |
| 139 | + | |
| 140 | + | |
| 141 | + | |
137 | 142 | | |
138 | 143 | | |
139 | 144 | | |
| |||
142 | 147 | | |
143 | 148 | | |
144 | 149 | | |
145 | | - | |
146 | | - | |
147 | | - | |
148 | 150 | | |
149 | 151 | | |
150 | 152 | | |
| |||
154 | 156 | | |
155 | 157 | | |
156 | 158 | | |
157 | | - | |
| 159 | + | |
158 | 160 | | |
159 | 161 | | |
160 | 162 | | |
161 | 163 | | |
162 | | - | |
| 164 | + | |
163 | 165 | | |
164 | 166 | | |
165 | 167 | | |
166 | 168 | | |
167 | 169 | | |
168 | | - | |
169 | | - | |
| 170 | + | |
170 | 171 | | |
171 | | - | |
| 172 | + | |
172 | 173 | | |
173 | | - | |
| 174 | + | |
174 | 175 | | |
175 | | - | |
| 176 | + | |
176 | 177 | | |
177 | 178 | | |
178 | 179 | | |
| |||
0 commit comments