diff --git a/config/service_config.go b/config/service_config.go
index 4dbd5843980a73fcb33526fe6ebd063d9c7b6a22..ffacd2017cbdd57fe11e1e10c39853ef847973e4 100644
--- a/config/service_config.go
+++ b/config/service_config.go
@@ -116,11 +116,13 @@ func getRandomPort(protocolConfigs []*ProtocolConfig) *list.List {
 		}
 
 		tcp, err := gxnet.ListenOnTCPRandomPort(proto.Ip)
+		if tcp != nil {
+			defer tcp.Close()
+		}
 		if err != nil {
 			panic(perrors.New(fmt.Sprintf("Get tcp port error,err is {%v}", err)))
 		}
 		ports.PushBack(strings.Split(tcp.Addr().String(), ":")[1])
-		defer tcp.Close()
 	}
 	return ports
 }
@@ -143,8 +145,7 @@ func (c *ServiceConfig) Export() error {
 	regUrls := loadRegistries(c.Registry, providerConfig.Registries, common.PROVIDER)
 	urlMap := c.getUrlMap()
 	protocolConfigs := loadProtocol(c.Protocol, providerConfig.Protocols)
-	protocolSize := len(protocolConfigs)
-	if protocolSize == 0 {
+	if len(protocolConfigs) == 0 {
 		logger.Warnf("The service %v's '%v' protocols don't has right protocolConfigs ", c.InterfaceName, c.Protocol)
 		return nil
 	}
diff --git a/config/service_config_test.go b/config/service_config_test.go
index c84a381e288ba545c72aad028ceaf7fe291c825d..e39d32b7f7976cbdc668153bcd901e40dd635556 100644
--- a/config/service_config_test.go
+++ b/config/service_config_test.go
@@ -22,11 +22,14 @@ import (
 )
 
 import (
-	"github.com/apache/dubbo-go/common/extension"
 	gxnet "github.com/dubbogo/gost/net"
 	"github.com/stretchr/testify/assert"
 )
 
+import (
+	"github.com/apache/dubbo-go/common/extension"
+)
+
 func doInitProvider() {
 	providerConfig = &ProviderConfig{
 		ApplicationConfig: &ApplicationConfig{