- Notifications
You must be signed in to change notification settings - Fork5
Commit605afec
committed
Clean up code for widget_in() and widget_out().
Given syntactically wrong input, widget_in() could call atof() with anindeterminate pointer argument, typically leading to a crash; or if itdidn't do that, it might return a NULL pointer, which again would leadto a crash since old-style C functions aren't supposed to do thingsthat way. Fix that by correcting the off-by-one syntax test andthrowing a proper error rather than just returning NULL.Also, since widget_in and widget_out have been marked STRICT for along time, their tests for null inputs are just dead code; remove 'em.In the oldest branches, also improve widget_out to use snprintf notsprintf, just to be sure.In passing, get rid of a long-since-useless sprintf into a local bufferthat nothing further is done with, and make some other minor codingstyle cleanups.In the intended regression-testing usage of these functions, none ofthis is very significant; but if the regression test database wereleft around in a production installation, these bugs could amountto a minor security hazard.Piotr Stefaniak, Michael Paquier, and Tom Lane1 parent4e1ccc7 commit605afec
1 file changed
+11
-12
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
249 | 249 | | |
250 | 250 | | |
251 | 251 | | |
252 | | - | |
253 | | - | |
| 252 | + | |
254 | 253 | | |
255 | 254 | | |
256 | 255 | | |
257 | | - | |
258 | | - | |
259 | 256 | | |
260 | | - | |
| 257 | + | |
| 258 | + | |
261 | 259 | | |
262 | | - | |
263 | | - | |
| 260 | + | |
| 261 | + | |
| 262 | + | |
| 263 | + | |
| 264 | + | |
| 265 | + | |
| 266 | + | |
| 267 | + | |
264 | 268 | | |
265 | 269 | | |
266 | 270 | | |
267 | 271 | | |
268 | 272 | | |
269 | | - | |
270 | | - | |
271 | 273 | | |
272 | 274 | | |
273 | 275 | | |
274 | 276 | | |
275 | 277 | | |
276 | 278 | | |
277 | | - | |
278 | | - | |
279 | | - | |
280 | 279 | | |
281 | 280 | | |
282 | 281 | | |
| |||
0 commit comments
Comments
(0)