Details | Last modification | View Log | RSS feed
Rev | Author | Line No. | Line |
---|---|---|---|
39 | magnus | 1 | #! /bin/sh /usr/share/dpatch/dpatch-run |
2 | ## 52_compile_bufoverflow.dpatch by Magnus Holmgren <holmgren@debian.org> |
||
3 | ## |
||
4 | ## DP: Prevent buffer overflows from mechanisms with huge domainspecs. |
||
5 | ## DP: As suggested by upstream. |
||
6 | |||
7 | @DPATCH@ |
||
8 | diff -urNad lenny~/src/libspf2/spf_compile.c lenny/src/libspf2/spf_compile.c |
||
9 | --- lenny~/src/libspf2/spf_compile.c 2008-11-04 21:51:22.000000000 +0100 |
||
10 | +++ lenny/src/libspf2/spf_compile.c 2008-11-04 21:53:22.000000000 +0100 |
||
11 | @@ -711,6 +711,9 @@ |
||
12 | |||
13 | SPF_errcode_t err; |
||
14 | |||
15 | + if (strlen(*mech_value) > (sizeof(buf) >> 1)) |
||
16 | + return SPF_E_BIG_MECH; |
||
17 | + |
||
18 | memset(buf, 'B', sizeof(buf)); /* Poison the buffer. */ |
||
19 | memset(spf_mechanism, 0, sizeof(SPF_mech_t)); |
||
20 | |||
21 | @@ -858,6 +861,9 @@ |
||
22 | |||
23 | SPF_errcode_t err; |
||
24 | |||
25 | + if (strlen(*mod_value) > (sizeof(buf) >> 1)) |
||
26 | + return SPF_E_BIG_MOD; |
||
27 | + |
||
28 | memset(buf, 'A', sizeof(buf)); |
||
29 | memset(spf_modifier, 0, sizeof(SPF_mod_t)); |
||
30 |