- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
Python C-API 中的标准约定是
函数不会从输入参数(即对象)中窃取引用
返回值和输出参数(即对象)拥有一个引用
Python C-API 中的大多数函数都遵循此约定。但是,也有一些异常(exception)。我遇到过以下情况:
从输入参数窃取引用的函数
PyModule_AddObject
返回值或输出参数借用引用的函数
PyErr_Occurred
PyTuple_GetItem
PyTuple_GETITEM
PyDict_GetItem
PyDict_GetItemString
PyDict_Next
是否有此类功能的完整列表?在编写 Python 扩展模块时,这样的列表将是一个有用的引用。
最佳答案
在 Python 2.7.2 C-API 文档中对单词“steal”和“borrow”进行的文本搜索给出了以下列表:
从输入参数窃取引用的函数
PyCell_SET (but not PyCell_Set)
PyList_SetItem, PyList_SET_ITEM
PyModule_AddObject
PyTuple_SetItem, PyTuple_SET_ITEM
返回值或输出参数借用引用的函数
all PyArg_Xxx functions
PyCell_GET (but not PyCell_Get)
PyDict_GetItem
PyDict_GetItemString
PyDict_Next
PyErr_Occurred
PyEval_GetBuiltins
PyEval_GetFrame
PyEval_GetGlobals
PyEval_GetLocals
PyFile_Name
PyFunction_GetClosure
PyFunction_GetCode
PyFunction_GetDefaults
PyFunction_GetGlobals
PyFunction_GetModule
PyImport_AddModule
PyImport_GetModuleDict
PyList_GetItem, PyList_GETITEM
PyMethod_Class, PyMethod_GET_CLASS
PyMethod_Function, PyMethod_GET_FUNCTION
PyMethod_Self, PyMethod_GET_SELF
PyModule_GetDict
PyObject_Init
PyObject_InitVar
PySequence_Fast_GET_ITEM
PySys_GetObject
PyThreadState_GetDict
PyTuple_GetItem, PyTuple_GET_ITEM
PyWeakref_GetObject, PyWeakref_GET_OBJECT
Py_InitModule
Py_InitModule3
Py_InitModule4
关于借用和窃取引用的 Python C-API 函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10247779/
说我有 some text google 我想给h3附加一个点击事件 $("h3").click(function(){ $(this).slideDown(); return false
关闭。这个问题是off-topic .它目前不接受答案。 想改进这个问题? Update the question所以它是on-topic对于堆栈溢出。 10年前关闭。 Improve this qu
据说当您使用 ssl 时,您可以防止中间人从服务器窃取信息到客户端,反之亦然。在我的例子中,窃取了 jsonwebtoken。我还从其他答案中了解到,ssl 使用私钥和公钥。私钥存储在服务器上,公钥提
我已经阅读了 Stack Overflow 上的其他问题,但没有找到这个问题的明确答案: 是什么阻止了攻击者通过 JS 窃取用户的 CSRF token ?他不能直接找到 CSRF 元素并用 JS 获
我认为有人在使用 iframe 窃取我的内容。我的网站是一个论坛,一个用户刚刚向我报告了他们。 如果其他人这样做,我如何以编程方式(php、JavaScript、jQuery、HTML)找到他们的网站
我正在使用 SSL 传输所有数据。 HTTP 已完全禁用。除了恶意软件,或者访问某人的物理机器(这两者都很难从服务器端阻止),我不知道攻击者如何窃取登录 cookie。 因此,不用担心窃取登录 coo
有一个 QQuickPaintedItem 带有重载的鼠标事件处理程序: void Plotter::mousePressEvent(QMouseEvent *event) { qDebug(
我正在学习 Caja,我对“this”-stealing 的概念感到困惑: Another security vulnerability that Caja addresses is called “
如果使用客户端流,则回调 URL 包含访问 token 。那么如果回调URL是通过HTTP发送的,是不是很容易被捕获和滥用。 如果我的应用程序的用户 2 获得用户 1 的访问 token ,他就可以访
http://jsfiddle.net/wzew9/ #menu { width: 1001px; height: 34px; padding: 0; margin: 0; b
我实现了 OnTouchEvent(我需要对 Action.MOVE 和 Action.Up 使用react)和 OnClick,但它从未进入 OnClick。 OnTouch 窃取了事件。如何解决这
当 SplashScreen 关闭时(手动或通过 AutoClose),它会在淡出动画期间窃取 MainWindow 的焦点。这会导致主窗口的标题从事件切换到非事件(灰色)再到事件。有什么技巧可以防止
使用其他用户在受信任站点植入的 javascript 函数很容易窃取 session ID cookie。针对这种攻击有哪些可能的反制措施? 在客户端拒绝所有 javascript 脚本可能很困难,因
我有一个网站想要为登录用户提供 YouTube 视频内容(我自己负责以 SSO 方式登录用户)。 因此,我们的想法是视频只能在嵌入到页面中时才能看到(例如以 iFrame 或类似方式)。复制 URL
我在另一个 NSView 中有几个类 MyView(NSView 的子类)的 View 。 MyView 实现 -mouseEntered:, -mouseExited:, -mouseDown:,
我是 flatbuffer 的新手,我想知道是否可以完全(不是 const*)访问 flatbuffers::Vector 中的数据。看看下面的例子,我想窃取 img2::mem::data 的所有权
我有一个带有用户控件的 ASP.Net 页面。页面的提交按钮在用户控件内。页面本身(在用户控件之外)有一个 ImageButton。每当我按回车键提交表单时,它总是执行 ImageButton 单击而
我在Unity中编写了自己的组件,它实现了IBeginDragHandler、IDragHandler和IDropHandler。我想添加一个 UnityEngine.UI 附带的 EventTrig
我最近开始使用 knockout.js 和 sammy.js 来使我的应用现代化。但是我遇到了一些问题。 我在页面上有一些有效链接 - 用户应该实际导航到该位置,而不是使用 sammy.js 模仿导航
我已将 HTML 模板上传到 themeforest,但我发现有些网站免费提供完整的源代码。因为它是 HTML,anycone 可以轻松复制它。如果用户在其他网站(跟踪 IP)上托管我的模板而无需购买
我是一名优秀的程序员,十分优秀!