Lines 533-538
Link Here
|
533 |
apr_size_t len = 0, blen; |
533 |
apr_size_t len = 0, blen; |
534 |
const char *data; |
534 |
const char *data; |
535 |
deflate_filter_config *c; |
535 |
deflate_filter_config *c; |
|
|
536 |
apr_status_t rv; |
536 |
|
537 |
|
537 |
/* Do nothing if asked to filter nothing. */ |
538 |
/* Do nothing if asked to filter nothing. */ |
538 |
if (APR_BRIGADE_EMPTY(bb)) { |
539 |
if (APR_BRIGADE_EMPTY(bb)) { |
Lines 930-943
Link Here
|
930 |
} |
931 |
} |
931 |
|
932 |
|
932 |
/* read */ |
933 |
/* read */ |
933 |
apr_bucket_read(e, &data, &len, APR_BLOCK_READ); |
934 |
rv = apr_bucket_read(e, &data, &len, APR_BLOCK_READ); |
934 |
if (!len) { |
935 |
if (rv != APR_SUCCESS || !len) { |
935 |
apr_bucket_delete(e); |
936 |
apr_bucket_delete(e); |
936 |
continue; |
937 |
continue; |
937 |
} |
938 |
} |
938 |
if (len > APR_INT32_MAX) { |
939 |
if (len > APR_INT32_MAX) { |
939 |
apr_bucket_split(e, APR_INT32_MAX); |
940 |
apr_bucket_split(e, APR_INT32_MAX); |
940 |
apr_bucket_read(e, &data, &len, APR_BLOCK_READ); |
941 |
rv = apr_bucket_read(e, &data, &len, APR_BLOCK_READ); |
|
|
942 |
if (rv != APR_SUCCESS) { |
943 |
apr_bucket_delete(e); |
944 |
continue; |
945 |
} |
941 |
} |
946 |
} |
942 |
|
947 |
|
943 |
/* This crc32 function is from zlib. */ |
948 |
/* This crc32 function is from zlib. */ |
Lines 1315-1327
Link Here
|
1315 |
} |
1320 |
} |
1316 |
|
1321 |
|
1317 |
/* read */ |
1322 |
/* read */ |
1318 |
apr_bucket_read(bkt, &data, &len, APR_BLOCK_READ); |
1323 |
rv = apr_bucket_read(bkt, &data, &len, APR_BLOCK_READ); |
1319 |
if (!len) { |
1324 |
if (rv != APR_SUCCESS || !len) { |
1320 |
continue; |
1325 |
continue; |
1321 |
} |
1326 |
} |
1322 |
if (len > APR_INT32_MAX) { |
1327 |
if (len > APR_INT32_MAX) { |
1323 |
apr_bucket_split(bkt, APR_INT32_MAX); |
1328 |
apr_bucket_split(bkt, APR_INT32_MAX); |
1324 |
apr_bucket_read(bkt, &data, &len, APR_BLOCK_READ); |
1329 |
rv = apr_bucket_read(bkt, &data, &len, APR_BLOCK_READ); |
|
|
1330 |
if (rv != APR_SUCCESS) { |
1331 |
continue; |
1332 |
} |
1325 |
} |
1333 |
} |
1326 |
|
1334 |
|
1327 |
if (ctx->zlib_flags) { |
1335 |
if (ctx->zlib_flags) { |
Lines 1703-1716
Link Here
|
1703 |
} |
1711 |
} |
1704 |
|
1712 |
|
1705 |
/* read */ |
1713 |
/* read */ |
1706 |
apr_bucket_read(e, &data, &len, APR_BLOCK_READ); |
1714 |
rv = apr_bucket_read(e, &data, &len, APR_BLOCK_READ); |
1707 |
if (!len) { |
1715 |
if (rv != APR_SUCCESS || !len) { |
1708 |
apr_bucket_delete(e); |
1716 |
apr_bucket_delete(e); |
1709 |
continue; |
1717 |
continue; |
1710 |
} |
1718 |
} |
1711 |
if (len > APR_INT32_MAX) { |
1719 |
if (len > APR_INT32_MAX) { |
1712 |
apr_bucket_split(e, APR_INT32_MAX); |
1720 |
apr_bucket_split(e, APR_INT32_MAX); |
1713 |
apr_bucket_read(e, &data, &len, APR_BLOCK_READ); |
1721 |
rv = apr_bucket_read(e, &data, &len, APR_BLOCK_READ); |
|
|
1722 |
if (rv != APR_SUCCESS) { |
1723 |
apr_bucket_delete(e); |
1724 |
continue; |
1725 |
} |
1714 |
} |
1726 |
} |
1715 |
|
1727 |
|
1716 |
/* first bucket contains zlib header */ |
1728 |
/* first bucket contains zlib header */ |