diff options
author | Stanislav Brabec <utx@penguin.cz> | 2011-04-16 22:47:44 +0000 |
---|---|---|
committer | utx@penguin.cz <utx@penguin.cz> | 2011-04-16 22:47:44 +0000 |
commit | d8ad204a8e1142c300a2fcedc376a6b035ab1f65 (patch) | |
tree | 1eb102a2a10ca5a509df36ef583023585c846f36 /recipes/tangogps | |
parent | 4d527f4c48ca5c3a0cf7e1c4145f1950b8762fdf (diff) | |
download | openembedded-d8ad204a8e1142c300a2fcedc376a6b035ab1f65.tar.gz |
tangogps: Potential fix of curl crashes.
Signed-off-by: Stanislav Brabec <utx@penguin.cz>
Diffstat (limited to 'recipes/tangogps')
-rw-r--r-- | recipes/tangogps/tangogps-0.99.4/tangogps-curl-crash.patch | 64 | ||||
-rw-r--r-- | recipes/tangogps/tangogps_0.99.4.bb | 3 |
2 files changed, 67 insertions, 0 deletions
diff --git a/recipes/tangogps/tangogps-0.99.4/tangogps-curl-crash.patch b/recipes/tangogps/tangogps-0.99.4/tangogps-curl-crash.patch new file mode 100644 index 0000000000..60da763134 --- /dev/null +++ b/recipes/tangogps/tangogps-0.99.4/tangogps-curl-crash.patch @@ -0,0 +1,64 @@ +Patch based on the similar fix of viking by Rob Norris <rw_norris@hotmail.com>: + Fix crashing due to incorrect usage of libcurl - SF#3206628. + Tell curl we are a multi-threaded program - i.e. it can not use signals. + +Index: tangogps-0.99.4/src/friends.c +=================================================================== +--- tangogps-0.99.4.orig/src/friends.c ++++ tangogps-0.99.4/src/friends.c +@@ -265,6 +265,7 @@ gdk_threads_leave(); + + curl_handle = curl_easy_init(); + ++ curl_easy_setopt(curl_handle, CURLOPT_NOSIGNAL, 1); + curl_easy_setopt(curl_handle, CURLOPT_URL, "http://www.tangogps.org/friends/update_pos.php"); + curl_easy_setopt(curl_handle, CURLOPT_HTTPPOST, formdata); + curl_easy_setopt(curl_handle, CURLOPT_WRITEFUNCTION, cb_write_to_mem); +@@ -451,6 +452,7 @@ update_position0() + + if(curl) + { ++ curl_easy_setopt(curl, CURLOPT_NOSIGNAL, 1); + curl_easy_setopt(curl, CURLOPT_URL, + "127.0.0.1/friends/update_position.php?lat=1&lon=1"); + res = curl_easy_perform(curl); +@@ -540,6 +542,7 @@ register_nick_thread(void *ptr) + + curl_handle = curl_easy_init(); + ++ curl_easy_setopt(curl_handle, CURLOPT_NOSIGNAL, 1); + curl_easy_setopt(curl_handle, CURLOPT_URL, "http://www.tangogps.org/friends/register_nick.php"); + curl_easy_setopt(curl_handle, CURLOPT_HTTPPOST, formdata); + curl_easy_setopt(curl_handle, CURLOPT_WRITEFUNCTION, cb_write_to_mem); +Index: tangogps-0.99.4/src/tile_management.c +=================================================================== +--- tangogps-0.99.4.orig/src/tile_management.c ++++ tangogps-0.99.4/src/tile_management.c +@@ -236,6 +236,7 @@ dl_thread(void *ptr) + if(curl && outfile) + { + ++ curl_easy_setopt(curl, CURLOPT_NOSIGNAL, 1); + curl_easy_setopt(curl, CURLOPT_URL, arr1[0]); + curl_easy_setopt(curl, CURLOPT_USERAGENT, + "libcurl-agent/1.0 | tangogps " VERSION " | " __VERSION__); +Index: tangogps-0.99.4/src/util.c +=================================================================== +--- tangogps-0.99.4.orig/src/util.c ++++ tangogps-0.99.4/src/util.c +@@ -104,6 +104,7 @@ mycurl__do_http_post (char *url, GSList + + curl_handle = curl_easy_init(); + ++ curl_easy_setopt(curl_handle, CURLOPT_NOSIGNAL, 1); + curl_easy_setopt(curl_handle, CURLOPT_URL, url); + curl_easy_setopt(curl_handle, CURLOPT_HTTPPOST, formdata); + curl_easy_setopt(curl_handle, CURLOPT_WRITEFUNCTION, mycurl_write_to_mem_cb); +@@ -159,6 +160,7 @@ mycurl__do_http_get (char *url, char *us + curl_global_init(CURL_GLOBAL_ALL); + curl_handle = curl_easy_init(); + ++ curl_easy_setopt(curl_handle, CURLOPT_NOSIGNAL, 1); + curl_easy_setopt(curl_handle, CURLOPT_URL, url); + curl_easy_setopt(curl_handle, CURLOPT_WRITEFUNCTION, mycurl_write_to_mem_cb); + curl_easy_setopt(curl_handle, CURLOPT_WRITEDATA, (void *)&chunk); diff --git a/recipes/tangogps/tangogps_0.99.4.bb b/recipes/tangogps/tangogps_0.99.4.bb index ab682f3cf1..543342451b 100644 --- a/recipes/tangogps/tangogps_0.99.4.bb +++ b/recipes/tangogps/tangogps_0.99.4.bb @@ -1,4 +1,7 @@ require tangogps.inc +PR = "r1" + +SRC_URI += "file://tangogps-curl-crash.patch" SRC_URI[archive.md5sum] = "0f07ede94a21eb84f5e017fa88a1fc3d" SRC_URI[archive.sha256sum] = "660fdf89ef3c379f2fc0c2a9d0c9d3bfa5345835786b72bf9f513ba9ec2c812a" |