WebCore/ChangeLog

 12008-03-11 Julien Chaffraix <julien.chaffraix@gmail.com>
 2
 3 Reviewed by NOBODY (OOPS!).
 4
 5 [CURL] Crash below ResourceHandleManager::setupPOST when job->request().httpBody() is NULL
 6 http://bugs.webkit.org/show_bug.cgi?id=16906
 7
 8 Add null checks for httpBody() to match other ports.
 9
 10 No test case added as we already have some.
 11
 12 * platform/network/curl/ResourceHandleManager.cpp:
 13 (WebCore::readCallback): Add null check.
 14 (WebCore::ResourceHandleManager::setupPOST): Ditto.
 15
1162008-03-10 Adam Roben <aroben@apple.com>
217
318 Part of Bug 17224: DOM nodes/attributes should be editable

WebCore/platform/network/curl/ResourceHandleManager.cpp

@@size_t readCallback(void* ptr, size_t size, size_t nmemb, void* data)
216216 if (!toSend)
217217 return 0;
218218
219  Vector<FormDataElement> elements = job->request().httpBody()->elements();
 219 Vector<FormDataElement> elements;
 220 if (job->request().httpBody())
 221 elements = job->request().httpBody()->elements();
 222
220223 if (d->m_formDataElementIndex >= elements.size())
221224 return 0;
222225

@@void ResourceHandleManager::setupPUT(ResourceHandle*, struct curl_slist**)
376379void ResourceHandleManager::setupPOST(ResourceHandle* job, struct curl_slist** headers)
377380{
378381 ResourceHandleInternal* d = job->getInternal();
379  Vector<FormDataElement> elements = job->request().httpBody()->elements();
 382 Vector<FormDataElement> elements;
 383 // Fix crash when httpBody is null (see bug #16906).
 384 if (job->request().httpBody())
 385 elements = job->request().httpBody()->elements();
380386 size_t numElements = elements.size();
381387
382388 if (!numElements)