>From 8c55193d34400a2e94089d9fa2e750866c491515 Mon Sep 17 00:00:00 2001
From: Salvatore Iovene <salvatore.iovene@linux.intel.com>
Date: Tue, 21 Jun 2011 04:11:25 -0700
Subject: [PATCH 2/3] NeonCXX: don't trust libneon's escape and unescape functions.

---
 src/backends/webdav/NeonCXX.cpp |    6 ++++--
 1 files changed, 4 insertions(+), 2 deletions(-)

diff --git a/src/backends/webdav/NeonCXX.cpp b/src/backends/webdav/NeonCXX.cpp
index 7097011..5752a8c 100644
--- a/src/backends/webdav/NeonCXX.cpp
+++ b/src/backends/webdav/NeonCXX.cpp
@@ -120,13 +120,15 @@ std::string URI::toURL() const
 std::string URI::escape(const std::string &text)
 {
     SmartPtr<char *> tmp(ne_path_escape(text.c_str()));
-    return tmp.get();
+    // Fail gracefully.
+    return tmp ? tmp.get() : text;
 }
 
 std::string URI::unescape(const std::string &text)
 {
     SmartPtr<char *> tmp(ne_path_unescape(text.c_str()));
-    return tmp.get();
+    // Fail gracefully.
+    return tmp ? tmp.get() : text;
 }
 
 std::string URI::normalizePath(const std::string &path, bool collection)
-- 
1.7.2.2

