|  | @@ -273,6 +273,7 @@ static void win_write(grpc_exec_ctx *exec_ctx, grpc_endpoint *ep,
 | 
	
		
			
				|  |  |    WSABUF local_buffers[16];
 | 
	
		
			
				|  |  |    WSABUF *allocated = NULL;
 | 
	
		
			
				|  |  |    WSABUF *buffers = local_buffers;
 | 
	
		
			
				|  |  | +  size_t len;
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |    if (tcp->shutting_down) {
 | 
	
		
			
				|  |  |      grpc_exec_ctx_enqueue(exec_ctx, cb, 0);
 | 
	
	
		
			
				|  | @@ -281,15 +282,16 @@ static void win_write(grpc_exec_ctx *exec_ctx, grpc_endpoint *ep,
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |    tcp->write_cb = cb;
 | 
	
		
			
				|  |  |    tcp->write_slices = slices;
 | 
	
		
			
				|  |  | -  GPR_ASSERT(tcp->write_slices->count <= UINT32_MAX);
 | 
	
		
			
				|  |  | +  GPR_ASSERT(tcp->write_slices->count <= UINT_MAX);
 | 
	
		
			
				|  |  |    if (tcp->write_slices->count > GPR_ARRAY_SIZE(local_buffers)) {
 | 
	
		
			
				|  |  |      buffers = (WSABUF *)gpr_malloc(sizeof(WSABUF) * tcp->write_slices->count);
 | 
	
		
			
				|  |  |      allocated = buffers;
 | 
	
		
			
				|  |  |    }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |    for (i = 0; i < tcp->write_slices->count; i++) {
 | 
	
		
			
				|  |  | -    GPR_ASSERT(GPR_SLICE_LENGTH(tcp->write_slices->slices[i]) <= UINT32_MAX);
 | 
	
		
			
				|  |  | -    buffers[i].len = (ULONG) GPR_SLICE_LENGTH(tcp->write_slices->slices[i]);
 | 
	
		
			
				|  |  | +    len = GPR_SLICE_LENGTH(tcp->write_slices->slices[i]);
 | 
	
		
			
				|  |  | +    GPR_ASSERT(len <= ULONG_MAX);
 | 
	
		
			
				|  |  | +    buffers[i].len = (ULONG) len;
 | 
	
		
			
				|  |  |      buffers[i].buf = (char *)GPR_SLICE_START_PTR(tcp->write_slices->slices[i]);
 | 
	
		
			
				|  |  |    }
 | 
	
		
			
				|  |  |  
 |