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

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);

重新编译即可

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏微信小开发

小程序无限加载

小程序无限加载 什么是无限加载呢? 比如 刷朋友圈的时候,一直往下拉一直都会有内容 就像没有尽头一样,可以不断的加载出东西来,也可以叫滚动加载。数据不可能在打开...

3125
来自专栏WindCoder

《Linux内核分析》之触发一个系统调用实验总结

系统调用列表中可用的很多,可惜对用代码进行系统调用不太清楚,只好从网上窃取了一份,地址在最后放上。此处以fork()为例。

533
来自专栏流媒体

dll生成和使用

662
来自专栏运维小白

2.3 ls命令

ls -l 可以显示文件的详细信息 -i 显示 iNode号 inode 存文件的时间,详细信息,保存在哪个块,哪个...

21010
来自专栏中国白客联盟

js之获取浏览器保存的账号密码(二)

正常情况下,当用户登录系统的时候保存了登录的账号密码的话,我们是可以利用js获取到他的表单里面的值发送过来,达到获取到他的账号密码进行下一步渗透。

1134
来自专栏Django中文社区

博客文章详情页

首页展示的是所有文章的列表,当用户看到感兴趣的文章时,他点击文章的标题或者继续阅读的按钮,应该跳转到文章的详情页面来阅读文章的详细内容。现在让我们来开发博客的详...

3467
来自专栏十月梦想

Express框架之res.render()和res.send()区别

大多数情况下,渲染内容用res.render(),将会根据views中的模板文件进行渲染。如果不想使用views文件夹,想自己设置文件夹名字,那么app.set...

955
来自专栏深度学习之tensorflow实战篇

pycharm 或者其他Python IDE不支持中文编码的解决方案

Python的自带编辑器IDLE或者Python Shell在默认情况下都不支持中文编码,若在脚本程序中出现中文,则会出现一定的错误。 原因: 因为Python...

2744
来自专栏王二麻子IT技术交流园地

《跟我学IDEA》三、实用配置(行号、提示、代码等)

上一篇博文我们介绍了idea如何配置一个maven,git,tomcat等,这一篇我们来进行一些常用设置,这些也正是idea可爱之处,大大提高了开发的效率。 第...

1905
来自专栏hbbliyong

WPF备忘录(7)WPF图片资源路径介绍

在项目中增加两张图片Content.jpg和Resource.jpg,分别将其生成操作属性设置为Content和Resource。      在界面中增加两个I...

2695

扫码关注云+社区