From: Claudio V. C. <ro...@us...> - 2001-09-26 06:18:14
|
Update of /cvsroot/firebird/interbase/jrd In directory usw-pr-cvs1:/tmp/cvs-serv3350 Modified Files: evl.c Log Message: Fixes a crash when doing substring() against unicode blobs. (There should be an error message until that functionality is built.) Index: evl.c =================================================================== RCS file: /cvsroot/firebird/interbase/jrd/evl.c,v retrieving revision 1.8 retrieving revision 1.9 diff -U3 -r1.8 -r1.9 --- evl.c 2001/07/24 07:45:23 1.8 +++ evl.c 2001/09/26 06:18:12 1.9 @@ -4866,11 +4866,11 @@ desc.dsc_dtype = dtype_text; if (dtype_blob == value->dsc_dtype && (BLOB_text != value->dsc_sub_type - || value->dsc_scale == ttype_ascii || value->dsc_scale == ttype_none - || ((obj1 = INTL_obj_lookup (tdbb, type_texttype, ttype, (FPTR_VOID) ERR_post, NULL) != 0) + || (ttype = value->dsc_scale) == ttype_ascii || ttype == ttype_none + || ((obj1 = INTL_obj_lookup (tdbb, type_texttype, ttype, (FPTR_VOID) ERR_post, NULL)) != 0 && 1 == obj1->texttype_bytes_per_char))) { - /* Source string is a blob, things get interesting */ + /* Source string is a blob, things get interesting. */ BLB blob = BLB_open (tdbb, tdbb->tdbb_request->req_transaction, value->dsc_address); if (!blob->blb_length || blob->blb_length <= offset) |