Code

8d381effa240b8e3a822c2ff1b382d35a38655e1
[pkg-rrdtool.git] / debian / patches / bts498183-segfault-madvise
1 diff a/src/rrd_open.c b/src/rrd_open.c
2 --- a/src/rrd_open.c
3 +++ b/src/rrd_open.c
4 @@ -363,14 +363,19 @@ void rrd_dontneed(
5              rrd->rra_def[i].row_cnt * rrd->stat_head->ds_cnt *
6              sizeof(rrd_value_t);
7      }
8 +
9 +    if (dontneed_start < rrd_file->file_len) {
10  #ifdef USE_MADVISE
11 -    madvise(rrd_file->file_start + dontneed_start,
12 -            rrd_file->file_len - dontneed_start, MADV_DONTNEED);
13 +           madvise(rrd_file->file_start + dontneed_start,
14 +                   rrd_file->file_len - dontneed_start, MADV_DONTNEED);
15  #endif
16  #ifdef HAVE_POSIX_FADVISE
17 -    posix_fadvise(rrd_file->fd, dontneed_start,
18 -                  rrd_file->file_len - dontneed_start, POSIX_FADV_DONTNEED);
19 +           posix_fadvise(rrd_file->fd, dontneed_start,
20 +                         rrd_file->file_len - dontneed_start,
21 +                         POSIX_FADV_DONTNEED);
22  #endif
23 +    }
24 +
25  #if defined DEBUG && DEBUG > 1
26      mincore_print(rrd_file, "after");
27  #endif