[grilo-plugins] raitv: Fix crasher on 64-bit platforms
- From: Juan A. Suarez Romero <jasuarez src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [grilo-plugins] raitv: Fix crasher on 64-bit platforms
- Date: Wed, 15 May 2013 07:34:12 +0000 (UTC)
commit 2a3958619c174010ecc75e440387ca85217a3288
Author: Bastien Nocera <hadess hadess net>
Date: Tue May 14 15:24:41 2013 +0200
raitv: Fix crasher on 64-bit platforms
gsize on 64-bit platforms is a 64-bit integer. Trying to fit a 64-bit
integer in the 32-bit integer we were passed trashed the pointer of the
previous return parameter, in this case the buffer's address.
Pass a pointer to correctly sized integer to avoid this memory
corruption and cast it later as needed.
https://bugzilla.gnome.org/show_bug.cgi?id=700297
src/raitv/grl-raitv.c | 18 +++++++++---------
1 files changed, 9 insertions(+), 9 deletions(-)
---
diff --git a/src/raitv/grl-raitv.c b/src/raitv/grl-raitv.c
index 87b3b0c..474db8c 100644
--- a/src/raitv/grl-raitv.c
+++ b/src/raitv/grl-raitv.c
@@ -392,7 +392,7 @@ proxy_call_search_grlnet_async_cb (GObject *source_object,
xmlXPathContextPtr xpath = NULL;
xmlXPathObjectPtr obj = NULL;
gint i, nb_items = 0;
- gint length;
+ gsize length;
GRL_DEBUG ("Response id=%u", op->operation_id);
@@ -408,7 +408,7 @@ proxy_call_search_grlnet_async_cb (GObject *source_object,
if (!grl_net_wc_request_finish (GRL_NET_WC (source_object),
res,
&content,
- (gsize *) &length,
+ &length,
&wc_error)) {
error = g_error_new (GRL_CORE_ERROR,
GRL_CORE_ERROR_SEARCH_FAILED,
@@ -428,7 +428,7 @@ proxy_call_search_grlnet_async_cb (GObject *source_object,
return;
}
- doc = xmlParseMemory (content, length);
+ doc = xmlParseMemory (content, (gint) length);
if (!doc) {
GRL_DEBUG ("Doc failed");
@@ -588,7 +588,7 @@ proxy_call_browse_grlnet_async_cb (GObject *source_object,
xmlXPathContextPtr xpath = NULL;
xmlXPathObjectPtr obj = NULL;
gint i, nb_items = 0;
- gint length;
+ gsize length;
GRL_DEBUG ("Response id=%u", op->operation_id);
@@ -605,7 +605,7 @@ proxy_call_browse_grlnet_async_cb (GObject *source_object,
if (!grl_net_wc_request_finish (GRL_NET_WC (source_object),
res,
&content,
- (gsize *) &length,
+ &length,
&wc_error)) {
error = g_error_new (GRL_CORE_ERROR,
GRL_CORE_ERROR_SEARCH_FAILED,
@@ -625,7 +625,7 @@ proxy_call_browse_grlnet_async_cb (GObject *source_object,
return;
}
- doc = xmlRecoverMemory (content, length);
+ doc = xmlRecoverMemory (content, (gint) length);
if (!doc) {
GRL_DEBUG ("Doc failed");
@@ -843,7 +843,7 @@ proxy_call_resolve_grlnet_async_cb (GObject *source_object,
GError *wc_error = NULL;
GError *error = NULL;
gchar *content = NULL;
- gint length;
+ gsize length;
gchar *value;
gchar *thumbnail;
gchar **tokens;
@@ -859,7 +859,7 @@ proxy_call_resolve_grlnet_async_cb (GObject *source_object,
if (!grl_net_wc_request_finish (GRL_NET_WC (source_object),
res,
&content,
- (gsize *) &length,
+ &length,
&wc_error)) {
error = g_error_new (GRL_CORE_ERROR,
GRL_CORE_ERROR_SEARCH_FAILED,
@@ -878,7 +878,7 @@ proxy_call_resolve_grlnet_async_cb (GObject *source_object,
return;
}
- doc = xmlRecoverMemory (content, length);
+ doc = xmlRecoverMemory (content, (gint) length);
if (!doc) {
GRL_DEBUG ("Doc failed");
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]