From 12ca36741e7220ffc309cb39dad021c6368234d8 Mon Sep 17 00:00:00 2001 From: Augustin Cavalier Date: Sat, 23 Nov 2019 16:02:16 -0500 Subject: [PATCH] kernel/port: Do not leave the main port pointer in the local scope. Only the reference. No functional change intended. --- src/system/kernel/port.cpp | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/src/system/kernel/port.cpp b/src/system/kernel/port.cpp index 204934e13c..8e6d65cfd8 100644 --- a/src/system/kernel/port.cpp +++ b/src/system/kernel/port.cpp @@ -989,11 +989,14 @@ create_port(int32 queueLength, const char* name) return B_BAD_TEAM_ID; // create a port - Port* port = new(std::nothrow) Port(team_get_current_team_id(), queueLength, - name != NULL ? name : "unnamed port"); - if (port == NULL) - return B_NO_MEMORY; - BReference portRef(port, true); + BReference port; + { + Port* newPort = new(std::nothrow) Port(team_get_current_team_id(), + queueLength, name != NULL ? name : "unnamed port"); + if (newPort == NULL) + return B_NO_MEMORY; + port.SetTo(newPort, true); + } // check the ports limit const int32 previouslyUsed = atomic_add(&sUsedPorts, 1);