[redland-dev] [PATCH] rdf_storage_virtuoso.c: Fix seg. fault on x86_64 machines

Dave Beckett dave at dajobe.org
Mon Dec 14 04:26:22 CET 2009


I've applied this (approximately; I moved the assignment to after the 
declarations for classic C) in SVN r15853 - but I haven't tested it.

Dave

lenrek at me.com wrote:
> A test program "redland-virtuoso-test" caused Virtuoso to crash.
> I used librdf (rev. 15752) built on my x86_64 machine.
> Here a patch to fix the problem will be enclosed.
> 
> 
> diff -crN svn/librdf/src/rdf_storage_virtuoso.c librdf/src/ 
> rdf_storage_virtuoso.c
> *** svn/librdf/src/rdf_storage_virtuoso.c	2009-11-20  
> 14:57:02.000000000 +0900
> --- librdf/src/rdf_storage_virtuoso.c	2009-12-03 13:08:58.000000000  
> +0900
> ***************
> *** 821,826 ****
> --- 821,828 ----
>     librdf_storage_virtuoso_instance*  
> context=(librdf_storage_virtuoso_instance*)LIBRDF_CALLOC(
>       librdf_storage_virtuoso_instance, 1,  
> sizeof(librdf_storage_virtuoso_instance));
> 
> +   storage->instance = context;
> +
>     int len=0;
> 
>     /* Must have connection parameters passed as options */
> ***************
> *** 1281,1287 ****
> 
> 
>   static int
> ! BindObject(librdf_storage* storage,  
> librdf_storage_virtuoso_connection *handle, SQLUSMALLINT col,  
> librdf_node *node, char **data, int *iData, SQLLEN *ind1, SQLLEN  
> *ind2, SQLLEN *ind3)
>   {
>     librdf_node_type type=librdf_node_get_type(node);
>     SQLUINTEGER ulen;
> --- 1283,1289 ----
> 
> 
>   static int
> ! BindObject(librdf_storage* storage,  
> librdf_storage_virtuoso_connection *handle, SQLUSMALLINT col,  
> librdf_node *node, char **data, long *iData, SQLLEN *ind1, SQLLEN  
> *ind2, SQLLEN *ind3)
>   {
>     librdf_node_type type=librdf_node_get_type(node);
>     SQLUINTEGER ulen;
> ***************
> *** 1424,1430 ****
>     librdf_node* nobject=NULL;
>     SQLLEN ind, ind1, ind2;
>     SQLLEN ind31, ind32, ind33;
> !   int iData;
> 
>   #ifdef VIRTUOSO_STORAGE_DEBUG
>     fprintf(stderr,  
> "librdf_storage_virtuoso_context_add_statement_helper \n");
> --- 1426,1432 ----
>     librdf_node* nobject=NULL;
>     SQLLEN ind, ind1, ind2;
>     SQLLEN ind31, ind32, ind33;
> !   long iData;
> 
>   #ifdef VIRTUOSO_STORAGE_DEBUG
>     fprintf(stderr,  
> "librdf_storage_virtuoso_context_add_statement_helper \n");
> ***************
> *** 1675,1681 ****
>     librdf_node* nobject=NULL;
>     SQLLEN ind, ind1, ind2;
>     SQLLEN ind31, ind32, ind33;
> !   int iData;
> 
> 
>   #ifdef VIRTUOSO_STORAGE_DEBUG
> --- 1677,1683 ----
>     librdf_node* nobject=NULL;
>     SQLLEN ind, ind1, ind2;
>     SQLLEN ind31, ind32, ind33;
> !   long iData;
> 
> 
>   #ifdef VIRTUOSO_STORAGE_DEBUG
> 
> 
> _______________________________________________
> redland-dev mailing list
> redland-dev at lists.librdf.org
> http://lists.librdf.org/mailman/listinfo/redland-dev
> 



More information about the redland-dev mailing list