From 824ffded12289e93e4c4b1c1b72f6b1bf66222dd Mon Sep 17 00:00:00 2001 From: Anthony Romano Date: Fri, 6 May 2016 15:26:05 -0700 Subject: [PATCH] etcdserver: fix nil dereference in physical Compact on proposal timeout Fixes #5292 --- etcdserver/v3_server.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/etcdserver/v3_server.go b/etcdserver/v3_server.go index e4517e9ef..bbfdb118e 100644 --- a/etcdserver/v3_server.go +++ b/etcdserver/v3_server.go @@ -121,7 +121,7 @@ func isTxnSerializable(r *pb.TxnRequest) bool { func (s *EtcdServer) Compact(ctx context.Context, r *pb.CompactionRequest) (*pb.CompactionResponse, error) { result, err := s.processInternalRaftRequest(ctx, pb.InternalRaftRequest{Compaction: r}) - if r.Physical && result.physc != nil { + if r.Physical && result != nil && result.physc != nil { <-result.physc // The compaction is done deleting keys; the hash is now settled // but the data is not necessarily committed. If there's a crash,