Skip to content

Commit

Permalink
fix nil pointer exception when calling Start again after address bind…
Browse files Browse the repository at this point in the history
…ing error
  • Loading branch information
tehsphinx committed Mar 14, 2022
1 parent b445958 commit ed9cd7b
Showing 1 changed file with 6 additions and 4 deletions.
10 changes: 6 additions & 4 deletions echo.go
Expand Up @@ -732,7 +732,7 @@ func (e *Echo) StartServer(s *http.Server) (err error) {
return s.Serve(e.Listener)
}

func (e *Echo) configureServer(s *http.Server) (err error) {
func (e *Echo) configureServer(s *http.Server) error {
// Setup
e.colorer.SetOutput(e.Logger.Output())
s.ErrorLog = e.StdLogger
Expand All @@ -747,10 +747,11 @@ func (e *Echo) configureServer(s *http.Server) (err error) {

if s.TLSConfig == nil {
if e.Listener == nil {
e.Listener, err = newListener(s.Addr, e.ListenerNetwork)
listener, err := newListener(s.Addr, e.ListenerNetwork)
if err != nil {
return err
}
e.Listener = listener
}
if !e.HidePort {
e.colorer.Printf("⇨ http server started on %s\n", e.colorer.Green(e.Listener.Addr()))
Expand Down Expand Up @@ -791,7 +792,7 @@ func (e *Echo) TLSListenerAddr() net.Addr {
}

// StartH2CServer starts a custom http/2 server with h2c (HTTP/2 Cleartext).
func (e *Echo) StartH2CServer(address string, h2s *http2.Server) (err error) {
func (e *Echo) StartH2CServer(address string, h2s *http2.Server) error {
e.startupMutex.Lock()
// Setup
s := e.Server
Expand All @@ -808,11 +809,12 @@ func (e *Echo) StartH2CServer(address string, h2s *http2.Server) (err error) {
}

if e.Listener == nil {
e.Listener, err = newListener(s.Addr, e.ListenerNetwork)
l, err := newListener(s.Addr, e.ListenerNetwork)
if err != nil {
e.startupMutex.Unlock()
return err
}
e.Listener = l
}
if !e.HidePort {
e.colorer.Printf("⇨ http server started on %s\n", e.colorer.Green(e.Listener.Addr()))
Expand Down

0 comments on commit ed9cd7b

Please sign in to comment.