forked frompostgres/postgres
- Notifications
You must be signed in to change notification settings - Fork6
Commit2c3203e
committed
Predict integer overflow to avoid buffer overruns.
Several functions, mostly type input functions, calculated an allocationsize such that the calculation wrapped to a small positive value whenarguments implied a sufficiently-large requirement. Writes past the endof the inadvertent small allocation followed shortly thereafter.Coverity identified the path_in() vulnerability; code inspection led tothe rest. In passing, add check_stack_depth() to prevent stack overflowin related functions.Back-patch to 8.4 (all supported versions). The non-comment hstorechanges touch code that did not exist in 8.4, so that part stops at 9.0.Noah Misch and Heikki Linnakangas, reviewed by Tom Lane.Security:CVE-2014-00641 parentb9c3bb1 commit2c3203e
File tree
15 files changed
+169
-19
lines changed- contrib
- hstore
- intarray
- ltree
- src
- backend/utils/adt
- include
- tsearch
- utils
15 files changed
+169
-19
lines changedLines changed: 12 additions & 3 deletions
Original file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
49 | 49 |
| |
50 | 50 |
| |
51 | 51 |
| |
52 |
| - | |
53 |
| - | |
54 |
| - | |
| 52 | + | |
| 53 | + | |
| 54 | + | |
| 55 | + | |
| 56 | + | |
| 57 | + | |
55 | 58 |
| |
56 | 59 |
| |
57 | 60 |
| |
58 | 61 |
| |
59 | 62 |
| |
60 | 63 |
| |
61 | 64 |
| |
| 65 | + | |
| 66 | + | |
| 67 | + | |
| 68 | + | |
| 69 | + | |
| 70 | + | |
62 | 71 |
| |
63 | 72 |
| |
64 | 73 |
| |
|
Lines changed: 21 additions & 0 deletions
Original file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
11 | 11 |
| |
12 | 12 |
| |
13 | 13 |
| |
| 14 | + | |
14 | 15 |
| |
15 | 16 |
| |
16 | 17 |
| |
| |||
438 | 439 |
| |
439 | 440 |
| |
440 | 441 |
| |
| 442 | + | |
| 443 | + | |
| 444 | + | |
| 445 | + | |
| 446 | + | |
441 | 447 |
| |
442 | 448 |
| |
443 | 449 |
| |
| |||
553 | 559 |
| |
554 | 560 |
| |
555 | 561 |
| |
| 562 | + | |
| 563 | + | |
| 564 | + | |
| 565 | + | |
| 566 | + | |
| 567 | + | |
| 568 | + | |
556 | 569 |
| |
557 | 570 |
| |
558 | 571 |
| |
| |||
675 | 688 |
| |
676 | 689 |
| |
677 | 690 |
| |
| 691 | + | |
| 692 | + | |
| 693 | + | |
| 694 | + | |
| 695 | + | |
| 696 | + | |
| 697 | + | |
678 | 698 |
| |
679 | 699 |
| |
680 | 700 |
| |
| |||
806 | 826 |
| |
807 | 827 |
| |
808 | 828 |
| |
| 829 | + | |
809 | 830 |
| |
810 | 831 |
| |
811 | 832 |
| |
|
Lines changed: 15 additions & 0 deletions
Original file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
9 | 9 |
| |
10 | 10 |
| |
11 | 11 |
| |
| 12 | + | |
12 | 13 |
| |
13 | 14 |
| |
14 | 15 |
| |
| |||
91 | 92 |
| |
92 | 93 |
| |
93 | 94 |
| |
| 95 | + | |
| 96 | + | |
| 97 | + | |
| 98 | + | |
| 99 | + | |
| 100 | + | |
| 101 | + | |
| 102 | + | |
| 103 | + | |
| 104 | + | |
| 105 | + | |
| 106 | + | |
| 107 | + | |
94 | 108 |
| |
95 | 109 |
| |
96 | 110 |
| |
| |||
645 | 659 |
| |
646 | 660 |
| |
647 | 661 |
| |
| 662 | + | |
648 | 663 |
| |
649 | 664 |
| |
650 | 665 |
| |
|
Lines changed: 2 additions & 0 deletions
Original file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
5 | 5 |
| |
6 | 6 |
| |
7 | 7 |
| |
| 8 | + | |
8 | 9 |
| |
9 | 10 |
| |
10 | 11 |
| |
| |||
142 | 143 |
| |
143 | 144 |
| |
144 | 145 |
| |
| 146 | + | |
145 | 147 |
| |
146 | 148 |
| |
147 | 149 |
| |
|
Lines changed: 9 additions & 0 deletions
Original file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
416 | 416 |
| |
417 | 417 |
| |
418 | 418 |
| |
| 419 | + | |
| 420 | + | |
| 421 | + | |
419 | 422 |
| |
420 | 423 |
| |
421 | 424 |
| |
| |||
476 | 479 |
| |
477 | 480 |
| |
478 | 481 |
| |
| 482 | + | |
| 483 | + | |
| 484 | + | |
| 485 | + | |
| 486 | + | |
479 | 487 |
| |
| 488 | + | |
480 | 489 |
| |
481 | 490 |
| |
482 | 491 |
| |
|
Lines changed: 3 additions & 0 deletions
Original file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
6 | 6 |
| |
7 | 7 |
| |
8 | 8 |
| |
| 9 | + | |
9 | 10 |
| |
10 | 11 |
| |
11 | 12 |
| |
| |||
112 | 113 |
| |
113 | 114 |
| |
114 | 115 |
| |
| 116 | + | |
| 117 | + | |
115 | 118 |
| |
116 | 119 |
| |
117 | 120 |
| |
|
Lines changed: 11 additions & 0 deletions
Original file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
8 | 8 |
| |
9 | 9 |
| |
10 | 10 |
| |
| 11 | + | |
11 | 12 |
| |
12 | 13 |
| |
13 | 14 |
| |
| |||
64 | 65 |
| |
65 | 66 |
| |
66 | 67 |
| |
| 68 | + | |
| 69 | + | |
| 70 | + | |
| 71 | + | |
| 72 | + | |
67 | 73 |
| |
68 | 74 |
| |
69 | 75 |
| |
| |||
228 | 234 |
| |
229 | 235 |
| |
230 | 236 |
| |
| 237 | + | |
| 238 | + | |
| 239 | + | |
| 240 | + | |
| 241 | + | |
231 | 242 |
| |
232 | 243 |
| |
233 | 244 |
| |
|
Lines changed: 12 additions & 1 deletion
Original file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
9 | 9 |
| |
10 | 10 |
| |
11 | 11 |
| |
| 12 | + | |
12 | 13 |
| |
13 | 14 |
| |
14 | 15 |
| |
| |||
213 | 214 |
| |
214 | 215 |
| |
215 | 216 |
| |
| 217 | + | |
| 218 | + | |
| 219 | + | |
216 | 220 |
| |
217 | 221 |
| |
218 | 222 |
| |
| |||
277 | 281 |
| |
278 | 282 |
| |
279 | 283 |
| |
| 284 | + | |
| 285 | + | |
| 286 | + | |
280 | 287 |
| |
281 | 288 |
| |
282 | 289 |
| |
| |||
341 | 348 |
| |
342 | 349 |
| |
343 | 350 |
| |
344 |
| - | |
| 351 | + | |
| 352 | + | |
| 353 | + | |
| 354 | + | |
345 | 355 |
| |
| 356 | + | |
346 | 357 |
| |
347 | 358 |
| |
348 | 359 |
| |
|
Lines changed: 28 additions & 2 deletions
Original file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
1403 | 1403 |
| |
1404 | 1404 |
| |
1405 | 1405 |
| |
| 1406 | + | |
1406 | 1407 |
| |
1407 | 1408 |
| |
1408 | 1409 |
| |
| |||
1421 | 1422 |
| |
1422 | 1423 |
| |
1423 | 1424 |
| |
1424 |
| - | |
| 1425 | + | |
| 1426 | + | |
| 1427 | + | |
| 1428 | + | |
| 1429 | + | |
| 1430 | + | |
| 1431 | + | |
| 1432 | + | |
| 1433 | + | |
1425 | 1434 |
| |
1426 | 1435 |
| |
1427 | 1436 |
| |
| |||
3465 | 3474 |
| |
3466 | 3475 |
| |
3467 | 3476 |
| |
| 3477 | + | |
3468 | 3478 |
| |
3469 | 3479 |
| |
3470 | 3480 |
| |
| |||
3473 | 3483 |
| |
3474 | 3484 |
| |
3475 | 3485 |
| |
3476 |
| - | |
| 3486 | + | |
| 3487 | + | |
| 3488 | + | |
| 3489 | + | |
| 3490 | + | |
| 3491 | + | |
| 3492 | + | |
| 3493 | + | |
| 3494 | + | |
3477 | 3495 |
| |
3478 | 3496 |
| |
3479 | 3497 |
| |
| |||
4379 | 4397 |
| |
4380 | 4398 |
| |
4381 | 4399 |
| |
| 4400 | + | |
| 4401 | + | |
| 4402 | + | |
| 4403 | + | |
4382 | 4404 |
| |
4383 | 4405 |
| |
4384 | 4406 |
| |
| |||
4484 | 4506 |
| |
4485 | 4507 |
| |
4486 | 4508 |
| |
| 4509 | + | |
| 4510 | + | |
| 4511 | + | |
| 4512 | + | |
4487 | 4513 |
| |
4488 | 4514 |
| |
4489 | 4515 |
| |
|
Lines changed: 6 additions & 1 deletion
Original file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
517 | 517 |
| |
518 | 518 |
| |
519 | 519 |
| |
520 |
| - | |
| 520 | + | |
| 521 | + | |
| 522 | + | |
| 523 | + | |
521 | 524 |
| |
| 525 | + | |
| 526 | + | |
522 | 527 |
| |
523 | 528 |
| |
524 | 529 |
| |
|
Lines changed: 5 additions & 0 deletions
Original file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
334 | 334 |
| |
335 | 335 |
| |
336 | 336 |
| |
| 337 | + | |
| 338 | + | |
| 339 | + | |
| 340 | + | |
| 341 | + | |
337 | 342 |
| |
338 | 343 |
| |
339 | 344 |
| |
|
Lines changed: 5 additions & 10 deletions
Original file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
27 | 27 |
| |
28 | 28 |
| |
29 | 29 |
| |
| 30 | + | |
30 | 31 |
| |
31 | 32 |
| |
32 | 33 |
| |
| |||
66 | 67 |
| |
67 | 68 |
| |
68 | 69 |
| |
| 70 | + | |
| 71 | + | |
69 | 72 |
| |
70 | 73 |
| |
71 | 74 |
| |
| |||
444 | 447 |
| |
445 | 448 |
| |
446 | 449 |
| |
447 |
| - | |
448 |
| - | |
449 | 450 |
| |
450 | 451 |
| |
451 | 452 |
| |
452 |
| - | |
453 |
| - | |
454 |
| - | |
455 |
| - | |
456 |
| - | |
| 453 | + | |
457 | 454 |
| |
458 |
| - | |
459 |
| - | |
460 |
| - | |
| 455 | + | |
461 | 456 |
| |
462 | 457 |
| |
463 | 458 |
| |
|
0 commit comments
Comments
(0)