- Notifications
You must be signed in to change notification settings - Fork5
Commit9daec77
committed
Simplify correct use of simple_prompt().
The previous API for this function had it returning a malloc'd string.That meant that callers had to check for NULL return, which few of themwere doing, and it also meant that callers had to remember to free()the string later, which required extra logic in most cases.Instead, make simple_prompt() write into a buffer supplied by the caller.Anywhere that the maximum required input length is reasonably small,which is almost all of the callers, we can just use a local or staticarray as the buffer instead of dealing with malloc/free.A fair number of callers used "pointer == NULL" as a proxy for "haven'trequested the password yet". Maintaining the same behavior requiresadding a separate boolean flag for that, which adds back some of thecomplexity we save by removing free()s. Nonetheless, this nets outat a small reduction in overall code size, and considerably less codethan we would have had if we'd added the missing NULL-return checkseverywhere they were needed.In passing, clean up the API comment for simple_prompt() and get ridof a very-unnecessary malloc/free in its Windows code path.This is nominally a bug fix, but it does not seem worth back-patching,because the actual risk of an OOM failure in any of these places seemspretty tiny, and all of them are client-side not server-side anyway.This patch is by me, but it owes a great deal to Michael Paquierwho identified the problem and drafted a patch for fixing it theother way.Discussion: <CAB7nPqRu07Ot6iht9i9KRfYLpDaF2ZuUv5y_+72uP23ZAGysRg@mail.gmail.com>1 parent37f6fd1 commit9daec77
File tree
15 files changed
+138
-142
lines changed- contrib
- oid2name
- vacuumlo
- src
- bin
- initdb
- pg_basebackup
- pg_dump
- pgbench
- psql
- scripts
- include
- port
15 files changed
+138
-142
lines changedLines changed: 6 additions & 7 deletions
Original file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
261 | 261 |
| |
262 | 262 |
| |
263 | 263 |
| |
264 |
| - | |
| 264 | + | |
| 265 | + | |
265 | 266 |
| |
266 | 267 |
| |
267 | 268 |
| |
| |||
282 | 283 |
| |
283 | 284 |
| |
284 | 285 |
| |
285 |
| - | |
| 286 | + | |
286 | 287 |
| |
287 | 288 |
| |
288 | 289 |
| |
| |||
302 | 303 |
| |
303 | 304 |
| |
304 | 305 |
| |
305 |
| - | |
| 306 | + | |
306 | 307 |
| |
307 | 308 |
| |
308 |
| - | |
| 309 | + | |
| 310 | + | |
309 | 311 |
| |
310 | 312 |
| |
311 | 313 |
| |
312 | 314 |
| |
313 |
| - | |
314 |
| - | |
315 |
| - | |
316 | 315 |
| |
317 | 316 |
| |
318 | 317 |
| |
|
Lines changed: 11 additions & 6 deletions
Original file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
65 | 65 |
| |
66 | 66 |
| |
67 | 67 |
| |
68 |
| - | |
69 | 68 |
| |
70 | 69 |
| |
| 70 | + | |
| 71 | + | |
71 | 72 |
| |
72 | 73 |
| |
73 |
| - | |
74 |
| - | |
| 74 | + | |
| 75 | + | |
| 76 | + | |
| 77 | + | |
| 78 | + | |
75 | 79 |
| |
76 | 80 |
| |
77 | 81 |
| |
| |||
91 | 95 |
| |
92 | 96 |
| |
93 | 97 |
| |
94 |
| - | |
| 98 | + | |
95 | 99 |
| |
96 | 100 |
| |
97 | 101 |
| |
| |||
110 | 114 |
| |
111 | 115 |
| |
112 | 116 |
| |
113 |
| - | |
| 117 | + | |
114 | 118 |
| |
115 | 119 |
| |
116 | 120 |
| |
117 |
| - | |
| 121 | + | |
| 122 | + | |
118 | 123 |
| |
119 | 124 |
| |
120 | 125 |
| |
|
Lines changed: 9 additions & 14 deletions
Original file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
1557 | 1557 |
| |
1558 | 1558 |
| |
1559 | 1559 |
| |
1560 |
| - | |
1561 |
| - | |
| 1560 | + | |
| 1561 | + | |
1562 | 1562 |
| |
1563 | 1563 |
| |
1564 | 1564 |
| |
| |||
1567 | 1567 |
| |
1568 | 1568 |
| |
1569 | 1569 |
| |
1570 |
| - | |
1571 |
| - | |
| 1570 | + | |
| 1571 | + | |
1572 | 1572 |
| |
1573 | 1573 |
| |
1574 | 1574 |
| |
1575 | 1575 |
| |
1576 | 1576 |
| |
1577 |
| - | |
1578 | 1577 |
| |
1579 | 1578 |
| |
1580 | 1579 |
| |
| |||
1587 | 1586 |
| |
1588 | 1587 |
| |
1589 | 1588 |
| |
1590 |
| - | |
1591 | 1589 |
| |
1592 | 1590 |
| |
1593 | 1591 |
| |
| |||
1596 | 1594 |
| |
1597 | 1595 |
| |
1598 | 1596 |
| |
1599 |
| - | |
| 1597 | + | |
1600 | 1598 |
| |
1601 | 1599 |
| |
1602 | 1600 |
| |
| |||
1608 | 1606 |
| |
1609 | 1607 |
| |
1610 | 1608 |
| |
1611 |
| - | |
1612 |
| - | |
1613 |
| - | |
1614 |
| - | |
1615 |
| - | |
1616 |
| - | |
| 1609 | + | |
| 1610 | + | |
| 1611 | + | |
1617 | 1612 |
| |
1618 | 1613 |
| |
1619 |
| - | |
| 1614 | + | |
1620 | 1615 |
| |
1621 | 1616 |
| |
1622 | 1617 |
| |
|
Lines changed: 1 addition & 0 deletions
Original file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
2 | 2 |
| |
3 | 3 |
| |
4 | 4 |
| |
| 5 | + |
Lines changed: 7 additions & 7 deletions
Original file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
41 | 41 |
| |
42 | 42 |
| |
43 | 43 |
| |
44 |
| - | |
| 44 | + | |
| 45 | + | |
45 | 46 |
| |
46 | 47 |
| |
47 | 48 |
| |
| |||
141 | 142 |
| |
142 | 143 |
| |
143 | 144 |
| |
144 |
| - | |
| 145 | + | |
145 | 146 |
| |
146 | 147 |
| |
147 | 148 |
| |
148 | 149 |
| |
149 | 150 |
| |
150 | 151 |
| |
151 |
| - | |
152 |
| - | |
153 |
| - | |
| 152 | + | |
| 153 | + | |
154 | 154 |
| |
155 | 155 |
| |
156 | 156 |
| |
157 | 157 |
| |
158 |
| - | |
| 158 | + | |
159 | 159 |
| |
160 | 160 |
| |
161 |
| - | |
| 161 | + | |
162 | 162 |
| |
163 | 163 |
| |
164 | 164 |
| |
|
Lines changed: 14 additions & 21 deletions
Original file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
134 | 134 |
| |
135 | 135 |
| |
136 | 136 |
| |
| 137 | + | |
137 | 138 |
| |
138 | 139 |
| |
139 | 140 |
| |
| |||
149 | 150 |
| |
150 | 151 |
| |
151 | 152 |
| |
152 |
| - | |
| 153 | + | |
153 | 154 |
| |
154 | 155 |
| |
155 | 156 |
| |
156 |
| - | |
157 |
| - | |
158 |
| - | |
| 157 | + | |
| 158 | + | |
159 | 159 |
| |
160 | 160 |
| |
161 | 161 |
| |
| |||
201 | 201 |
| |
202 | 202 |
| |
203 | 203 |
| |
204 |
| - | |
205 |
| - | |
206 |
| - | |
207 | 204 |
| |
208 |
| - | |
| 205 | + | |
| 206 | + | |
| 207 | + | |
| 208 | + | |
209 | 209 |
| |
210 | 210 |
| |
211 | 211 |
| |
212 |
| - | |
213 |
| - | |
214 | 212 |
| |
215 | 213 |
| |
216 | 214 |
| |
| |||
225 | 223 |
| |
226 | 224 |
| |
227 | 225 |
| |
228 |
| - | |
229 |
| - | |
230 | 226 |
| |
231 | 227 |
| |
232 | 228 |
| |
| |||
258 | 254 |
| |
259 | 255 |
| |
260 | 256 |
| |
| 257 | + | |
261 | 258 |
| |
262 | 259 |
| |
263 | 260 |
| |
264 | 261 |
| |
265 | 262 |
| |
266 |
| - | |
| 263 | + | |
267 | 264 |
| |
268 | 265 |
| |
269 | 266 |
| |
270 |
| - | |
271 |
| - | |
272 |
| - | |
| 267 | + | |
| 268 | + | |
273 | 269 |
| |
274 | 270 |
| |
275 | 271 |
| |
| |||
309 | 305 |
| |
310 | 306 |
| |
311 | 307 |
| |
312 |
| - | |
313 |
| - | |
314 |
| - | |
| 308 | + | |
| 309 | + | |
315 | 310 |
| |
316 | 311 |
| |
317 | 312 |
| |
| |||
332 | 327 |
| |
333 | 328 |
| |
334 | 329 |
| |
335 |
| - | |
336 |
| - | |
337 | 330 |
| |
338 | 331 |
| |
339 | 332 |
| |
|
Lines changed: 11 additions & 6 deletions
Original file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
1884 | 1884 |
| |
1885 | 1885 |
| |
1886 | 1886 |
| |
1887 |
| - | |
1888 | 1887 |
| |
1889 | 1888 |
| |
1890 | 1889 |
| |
| 1890 | + | |
| 1891 | + | |
1891 | 1892 |
| |
1892 |
| - | |
1893 |
| - | |
| 1893 | + | |
| 1894 | + | |
| 1895 | + | |
| 1896 | + | |
| 1897 | + | |
1894 | 1898 |
| |
1895 | 1899 |
| |
1896 | 1900 |
| |
| |||
1970 | 1974 |
| |
1971 | 1975 |
| |
1972 | 1976 |
| |
1973 |
| - | |
| 1977 | + | |
1974 | 1978 |
| |
1975 | 1979 |
| |
1976 | 1980 |
| |
| |||
1998 | 2002 |
| |
1999 | 2003 |
| |
2000 | 2004 |
| |
2001 |
| - | |
| 2005 | + | |
2002 | 2006 |
| |
2003 | 2007 |
| |
2004 | 2008 |
| |
2005 |
| - | |
| 2009 | + | |
| 2010 | + | |
2006 | 2011 |
| |
2007 | 2012 |
| |
2008 | 2013 |
| |
|
Lines changed: 6 additions & 4 deletions
Original file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
773 | 773 |
| |
774 | 774 |
| |
775 | 775 |
| |
776 |
| - | |
777 | 776 |
| |
| 777 | + | |
| 778 | + | |
778 | 779 |
| |
779 | 780 |
| |
780 | 781 |
| |
| |||
794 | 795 |
| |
795 | 796 |
| |
796 | 797 |
| |
797 |
| - | |
| 798 | + | |
798 | 799 |
| |
799 | 800 |
| |
800 | 801 |
| |
| |||
815 | 816 |
| |
816 | 817 |
| |
817 | 818 |
| |
818 |
| - | |
| 819 | + | |
819 | 820 |
| |
820 | 821 |
| |
821 |
| - | |
| 822 | + | |
| 823 | + | |
822 | 824 |
| |
823 | 825 |
| |
824 | 826 |
| |
|
0 commit comments
Comments
(0)