[arch-commits] Commit in tlsh/trunk (fix-python3.patch)

Levente Polyak anthraxx at archlinux.org
Tue Dec 15 00:28:51 UTC 2015


    Date: Tuesday, December 15, 2015 @ 01:28:51
  Author: anthraxx
Revision: 153332

upgpkg: tlsh 3.4.4-1

addpkg: tlsh 3.4.4-1

Added:
  tlsh/trunk/fix-python3.patch

-------------------+
 fix-python3.patch |   35 +++++++++++++++++++++++++++++++++++
 1 file changed, 35 insertions(+)

Added: fix-python3.patch
===================================================================
--- fix-python3.patch	                        (rev 0)
+++ fix-python3.patch	2015-12-15 00:28:51 UTC (rev 153332)
@@ -0,0 +1,35 @@
+From 243124159ad0fcbbb1329100c233bbfae40ca0de Mon Sep 17 00:00:00 2001
+From: anthraxx <levente at leventepolyak.net>
+Date: Sat, 5 Dec 2015 21:56:21 +0100
+Subject: [PATCH] convert arg to bytes object before passing to
+ PyBytes_AsStringAndSize
+
+this fixes python3 and ensures for both, python2 and python3 that
+the passed argument is a string.
+---
+ py_ext/tlshmodule.cpp | 12 ++++++++++++
+ 1 file changed, 12 insertions(+)
+
+diff --git a/py_ext/tlshmodule.cpp b/py_ext/tlshmodule.cpp
+index 409501b..8ed2335 100644
+--- a/py_ext/tlshmodule.cpp
++++ b/py_ext/tlshmodule.cpp
+@@ -178,6 +178,18 @@ Tlsh_fromTlshStr(tlsh_TlshObject *self, PyObject *args)
+         return PyErr_Format(PyExc_TypeError, "function takes exactly 1 argument (%lu given)", PyTuple_Size(args));
+ 
+     arg = PyTuple_GetItem(args, 0);
++#if PY_MAJOR_VERSION >= 3
++    if (!PyUnicode_Check(arg) || (arg = PyUnicode_AsASCIIString(arg)) == NULL) {
++      PyErr_SetString(PyExc_ValueError, "argument is not a TLSH hex string");
++      return NULL;
++    }
++#else
++    if (!PyString_Check(arg)) {
++      PyErr_SetString(PyExc_ValueError, "argument is not a TLSH hex string");
++      return NULL;
++    }
++#endif
++
+     if (PyBytes_AsStringAndSize(arg, &str, &len) == -1) {
+         PyErr_SetString(PyExc_ValueError, "argument is not a TLSH hex string");
+         return NULL;



More information about the arch-commits mailing list