File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -119,6 +119,12 @@ class DeflateHandler extends CompressionHandler {
119119 let totalLength = 0 ;
120120 const messageParts : Buffer [ ] = [ ] ;
121121 const decompresser = zlib . createInflate ( ) ;
122+ decompresser . on ( 'error' , ( error : Error ) => {
123+ reject ( {
124+ code : Status . INTERNAL ,
125+ details : 'Failed to decompress deflate-encoded message'
126+ } ) ;
127+ } ) ;
122128 decompresser . on ( 'data' , ( chunk : Buffer ) => {
123129 messageParts . push ( chunk ) ;
124130 totalLength += chunk . byteLength ;
@@ -161,6 +167,12 @@ class GzipHandler extends CompressionHandler {
161167 let totalLength = 0 ;
162168 const messageParts : Buffer [ ] = [ ] ;
163169 const decompresser = zlib . createGunzip ( ) ;
170+ decompresser . on ( 'error' , ( error : Error ) => {
171+ reject ( {
172+ code : Status . INTERNAL ,
173+ details : 'Failed to decompress gzip-encoded message'
174+ } ) ;
175+ } ) ;
164176 decompresser . on ( 'data' , ( chunk : Buffer ) => {
165177 messageParts . push ( chunk ) ;
166178 totalLength += chunk . byteLength ;
Original file line number Diff line number Diff line change @@ -736,6 +736,12 @@ export class BaseServerInterceptingCall
736736 return new Promise ( ( resolve , reject ) => {
737737 let totalLength = 0
738738 const messageParts : Buffer [ ] = [ ] ;
739+ decompresser . on ( 'error' , ( error : Error ) => {
740+ reject ( {
741+ code : Status . INTERNAL ,
742+ details : 'Failed to decompress message'
743+ } ) ;
744+ } ) ;
739745 decompresser . on ( 'data' , ( chunk : Buffer ) => {
740746 messageParts . push ( chunk ) ;
741747 totalLength += chunk . byteLength ;
You can’t perform that action at this time.
0 commit comments