message: fixed websocket server memory leak.
diff: @@ -1078,7 +1078,8 @@ static int http_onReceive(swServer *serv, swEventData *req)
  //websocket handshake
  if (conn->websocket_status == WEBSOCKET_STATUS_CONNECTION && zcallback == NULL)
  {
  - return swoole_websocket_onHandshake(port, ctx);
  + swoole_websocket_onHandshake(port, ctx);
  + goto free_object;
  }
  args[0] = &zrequest_object;
  @@ -1098,11 +1099,7 @@ static int http_onReceive(swServer *serv, swEventData *req)
  if (zcallback == NULL)
  {
  swoole_websocket_onRequest(ctx);
  - sw_zval_ptr_dtor(&zrequest_object);
  - sw_zval_ptr_dtor(&zresponse_object);
  - sw_zval_ptr_dtor(&zdata);
  - bzero(client, sizeof(swoole_http_client));
  - return SW_OK;
  + goto free_object;
  }
  }
  @@ -1124,7 +1121,7 @@ static int http_onReceive(swServer *serv, swEventData *req)
  conn->websocket_status = WEBSOCKET_STATUS_ACTIVE;
  }
  }
  - bzero(client, sizeof(swoole_http_client));
  + free_object: bzero(client, sizeof(swoole_http_client));
  sw_zval_ptr_dtor(&zrequest_object);
  sw_zval_ptr_dtor(&zresponse_object);
  sw_zval_ptr_dtor(&zdata);
  @@ -2063,7 +2060,7 @@ static PHP_METHOD(swoole_http_response, sendfile)
  }
  if (file_stat.st_size <= offset)
  {
  - swoole_php_error(E_WARNING, "parameter $offset[ld] exceeds the file size.", offset);
  + swoole_php_error(E_WARNING, "parameter $offset[%ld] exceeds the file size.", offset);
  RETURN_FALSE;
  }
  if (length > file_stat.st_size - offset)
  