Skip to content

pdo_oci错误计算缓冲区大小的patch

Published: at 08:59 AMSuggest Changes

pdo_oci已经很久没人更新了,有个bug存在很久了也一直没有修复。上次遇到了这个问题,老大发我了一个patch,这次又用到了,就顺手记下来。

报错信息

column XXX data was too large for buffer and was truncated to fit it in XXX

其问题是在计算变长字符集编码长度时计算不准确,导致缓冲区大小申请出错。修改pdo_oci源码解决。

oci_statement.c 532行:

col->maxlen = data_size;

修改为:

col->maxlen = ( data_size + 1 ) * sizeof(utext);

重新编译即可


Previous Post
php实现rsa签名和验签
Next Post
php安装gd扩展