summaryrefslogtreecommitdiff
path: root/python/header-py.c
diff options
context:
space:
mode:
authorxuhy <huayong.xu@samsung.com>2023-11-16 17:39:20 +0800
committerxuhy <huayong.xu@samsung.com>2023-11-16 17:39:20 +0800
commit76ea0b5d4a1b8180f2552c2729d84388a77beecb (patch)
tree9a2b028c24c205b075d9386acd7a62a2eb2271a7 /python/header-py.c
parentc30d127e8780dc678168ee121b9f2eeb1a8aaafa (diff)
downloadlibrpm-tizen-76ea0b5d4a1b8180f2552c2729d84388a77beecb.tar.gz
librpm-tizen-76ea0b5d4a1b8180f2552c2729d84388a77beecb.tar.bz2
librpm-tizen-76ea0b5d4a1b8180f2552c2729d84388a77beecb.zip
Add librpm-tizen.spec file & Debian packaging.HEADmasterdevel
The following issues are fixed: 1. Prevent execution of arbitrary scripts 2. Enable dash(-) in spec file. 3. Ignore bad expressions in %if conditionals. 4. Ignore unknown tags. 5. Ignore error macro. Change-Id: Id5b7b47c1a78de364ef0d513023fbe9ccc773a87 Signed-off-by: xuhy <huayong.xu@samsung.com>
Diffstat (limited to 'python/header-py.c')
-rw-r--r--python/header-py.c26
1 files changed, 13 insertions, 13 deletions
diff --git a/python/header-py.c b/python/header-py.c
index 45af51637..04aa96931 100644
--- a/python/header-py.c
+++ b/python/header-py.c
@@ -143,7 +143,7 @@ static PyObject * hdrKeyList(hdrObject * s)
hi = headerInitIterator(s->h);
while ((tag = headerNextTag(hi)) != RPMTAG_NOT_FOUND) {
- PyObject *to = PyInt_FromLong(tag);
+ PyObject *to = PyLong_FromLong(tag);
if (!to) {
headerFreeIterator(hi);
Py_DECREF(keys);
@@ -231,7 +231,7 @@ static PyObject * hdrFormat(hdrObject * s, PyObject * args, PyObject * kwds)
return NULL;
}
- result = Py_BuildValue("s", r);
+ result = utf8FromString(r);
free(r);
return result;
@@ -377,7 +377,7 @@ static PyObject *hdr_new(PyTypeObject *subtype, PyObject *args, PyObject *kwds)
if (obj == NULL) {
h = headerNew();
} else if (CAPSULE_CHECK(obj)) {
- h = CAPSULE_EXTRACT(obj, "rpm._C_Header");
+ h = CAPSULE_EXTRACT(obj, PYTHON_MODULENAME"._C_Header");
headerLink(h);
} else if (hdrObject_Check(obj)) {
h = headerCopy(((hdrObject*) obj)->h);
@@ -415,7 +415,7 @@ static PyObject * hdr_iternext(hdrObject *s)
if (s->hi == NULL) s->hi = headerInitIterator(s->h);
if ((tag = headerNextTag(s->hi)) != RPMTAG_NOT_FOUND) {
- res = PyInt_FromLong(tag);
+ res = PyLong_FromLong(tag);
} else {
s->hi = headerFreeIterator(s->hi);
}
@@ -442,9 +442,9 @@ int tagNumFromPyObject (PyObject *item, rpmTagVal *tagp)
rpmTagVal tag = RPMTAG_NOT_FOUND;
PyObject *str = NULL;
- if (PyInt_Check(item)) {
+ if (PyLong_Check(item)) {
/* XXX we should probably validate tag numbers too */
- tag = PyInt_AsLong(item);
+ tag = PyLong_AsLong(item);
} else if (utf8FromPyObject(item, &str)) {
tag = rpmTagGetValue(PyBytes_AsString(str));
Py_DECREF(str);
@@ -483,7 +483,7 @@ static int validItem(rpmTagClass tclass, PyObject *item)
switch (tclass) {
case RPM_NUMERIC_CLASS:
- rc = (PyLong_Check(item) || PyInt_Check(item));
+ rc = (PyLong_Check(item) || PyLong_Check(item));
break;
case RPM_STRING_CLASS:
rc = (PyBytes_Check(item) || PyUnicode_Check(item));
@@ -532,7 +532,7 @@ static int hdrAppendItem(Header h, rpmTagVal tag, rpmTagType type, PyObject *ite
case RPM_STRING_TYPE:
case RPM_STRING_ARRAY_TYPE: {
PyObject *str = NULL;
- if (utf8FromPyObject(item, &str))
+ if (utf8FromPyObject(item, &str))
rc = headerPutString(h, tag, PyBytes_AsString(str));
Py_XDECREF(str);
} break;
@@ -542,20 +542,20 @@ static int hdrAppendItem(Header h, rpmTagVal tag, rpmTagType type, PyObject *ite
rc = headerPutBin(h, tag, val, len);
} break;
case RPM_INT64_TYPE: {
- uint64_t val = PyInt_AsUnsignedLongLongMask(item);
+ uint64_t val = PyLong_AsUnsignedLongLongMask(item);
rc = headerPutUint64(h, tag, &val, 1);
} break;
case RPM_INT32_TYPE: {
- uint32_t val = PyInt_AsUnsignedLongMask(item);
+ uint32_t val = PyLong_AsUnsignedLongMask(item);
rc = headerPutUint32(h, tag, &val, 1);
} break;
case RPM_INT16_TYPE: {
- uint16_t val = PyInt_AsUnsignedLongMask(item);
+ uint16_t val = PyLong_AsUnsignedLongMask(item);
rc = headerPutUint16(h, tag, &val, 1);
} break;
case RPM_INT8_TYPE:
case RPM_CHAR_TYPE: {
- uint8_t val = PyInt_AsUnsignedLongMask(item);
+ uint8_t val = PyLong_AsUnsignedLongMask(item);
rc = headerPutUint8(h, tag, &val, 1);
} break;
default:
@@ -718,7 +718,7 @@ static char hdr_doc[] =
PyTypeObject hdr_Type = {
PyVarObject_HEAD_INIT(&PyType_Type, 0)
- "rpm.hdr", /* tp_name */
+ PYTHON_MODULENAME".hdr", /* tp_name */
sizeof(hdrObject), /* tp_size */
0, /* tp_itemsize */
(destructor) hdr_dealloc, /* tp_dealloc */