From 3db38646441a243c19322357ebc110fd1240db24 Mon Sep 17 00:00:00 2001 From: Adrien Destugues Date: Thu, 16 Jan 2014 09:28:42 +0100 Subject: [PATCH] Fix crash when trying to open a non-existing file. --- src/kits/network/libnetapi/FileRequest.cpp | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/kits/network/libnetapi/FileRequest.cpp b/src/kits/network/libnetapi/FileRequest.cpp index 28aa1db8c4..4a3b05c88e 100644 --- a/src/kits/network/libnetapi/FileRequest.cpp +++ b/src/kits/network/libnetapi/FileRequest.cpp @@ -43,6 +43,7 @@ status_t BFileRequest::_ProtocolLoop() { BNode node(fUrl.Path().String()); + if (node.IsSymLink()) { // Traverse the symlink and start over BEntry entry(fUrl.Path().String(), true); @@ -84,12 +85,14 @@ BFileRequest::_ProtocolLoop() return B_OK; } - assert(node.IsDirectory()); node_ref ref; status_t error = node.GetNodeRef(&ref); + + // Stop here, and don't hit the assert below, if the file doesn't exist. if (error != B_OK) return error; + assert(node.IsDirectory()); BDirectory directory(&ref); fResult.SetContentType("application/x-ftp-directory; charset=utf-8");