NSURL: Dont leak the result of dataRepresentation (#1170)

diff --git a/Foundation/NSURL.swift b/Foundation/NSURL.swift
index 9f06158..06a5217 100644
--- a/Foundation/NSURL.swift
+++ b/Foundation/NSURL.swift
@@ -405,7 +405,7 @@
         let buffer = malloc(bytesNeeded)!.bindMemory(to: UInt8.self, capacity: bytesNeeded)
         let bytesFilled = CFURLGetBytes(_cfObject, buffer, bytesNeeded)
         if bytesFilled == bytesNeeded {
-            return Data(bytesNoCopy: buffer, count: bytesNeeded, deallocator: .none)
+            return Data(bytesNoCopy: buffer, count: bytesNeeded, deallocator: .free)
         } else {
             fatalError()
         }
diff --git a/TestFoundation/TestURL.swift b/TestFoundation/TestURL.swift
index b0977b1..1ce0bf9 100644
--- a/TestFoundation/TestURL.swift
+++ b/TestFoundation/TestURL.swift
@@ -64,6 +64,7 @@
             ("test_reachable", test_reachable),
             ("test_copy", test_copy),
             ("test_itemNSCoding", test_itemNSCoding),
+            ("test_dataRepresentation", test_dataRepresentation),
         ]
     }
     
@@ -491,6 +492,13 @@
         let queryItemB = NSKeyedUnarchiver.unarchiveObject(with: NSKeyedArchiver.archivedData(withRootObject: queryItemA)) as! NSURLQueryItem
         XCTAssertEqual(queryItemA, queryItemB, "Archived then unarchived query item must be equal.")
     }
+
+    func test_dataRepresentation() {
+        let url = NSURL(fileURLWithPath: "/tmp/foo")
+        let url2 = NSURL(dataRepresentation: url.dataRepresentation,
+            relativeTo: nil)
+        XCTAssertEqual(url, url2)
+    }
 }
     
 class TestURLComponents : XCTestCase {