Bug #6623
validate the memptr bytes in "copy-lob from memptr to clob/longchar" statement
Status:
New
Priority:
Normal
Assignee:
-
Target version:
-
Start date:
Due date:
% Done:
0%
billable:
No
vendor_id:
GCD
case_num:
version:
Related issues
History
#2 Updated by Constantin Asofiei almost 2 years ago
According to https://knowledgebase.progress.com/articles/Article/P110518 , COPY-LOB will try to translate the memptr bytes to the target's codepage. If bytes can't be translated to the target codepage char, then invalid character code found in data for codepage %1 (12008)
ERROR is raised. A sample is this, where '\0' null char shows this problem:
def temp-table tt1 no-undo field f1 as clob. def var m as memptr. def var i as int. create tt1. set-size(m) = 10. do i = 1 to 9: put-byte(m, i) = i. end. copy-lob from m to tt1.f1.
Currently, I18nOps.prevalidateData
checks for null chars only for ISO-88591 codepage, but this seems to apply for any codepage (including win1252). This needs a proper fix to pre-validate the entire bytes using the target codepage.
prowin -cpinternal 1252
can be used to run the test with 1252 or other codepages.
#3 Updated by Greg Shah almost 2 years ago
- Related to Feature #6457: finish COPY-LOB support added
#4 Updated by Greg Shah almost 2 years ago
- Related to Feature #4768: finish copy-lob support added