make all-recursive make[1]: Entering directory `/builddir/build/BUILD/sssd-1.6.2' Making all in po make[2]: Entering directory `/builddir/build/BUILD/sssd-1.6.2/po' make[2]: Nothing to be done for `all'. make[2]: Leaving directory `/builddir/build/BUILD/sssd-1.6.2/po' Making all in src/man make[2]: Entering directory `/builddir/build/BUILD/sssd-1.6.2/src/man' if [ -z $recursion ]; then \ for lang in `/bin/sed -ne 's/^.*\[po4a_langs\] \(.*\)$/\1/p' ./po/po4a.cfg`; do \ if [ -d $lang ]; then \ sources=$(ls -1 $lang/*.xml); \ manpages=$(echo $sources | /bin/sed 's/\.xml//g'); \ make recursion=1 man_MANS="$manpages"; \ fi \ done \ fi ls: cannot access as/*.xml: No such file or directory make[3]: Entering directory `/builddir/build/BUILD/sssd-1.6.2/src/man' if [ -z $recursion ]; then \ for lang in `/bin/sed -ne 's/^.*\[po4a_langs\] \(.*\)$/\1/p' ./po/po4a.cfg`; do \ if [ -d $lang ]; then \ sources=$(ls -1 $lang/*.xml); \ manpages=$(echo $sources | /bin/sed 's/\.xml//g'); \ make recursion=1 man_MANS="$manpages"; \ fi \ done \ fi make[3]: Leaving directory `/builddir/build/BUILD/sssd-1.6.2/src/man' ls: cannot access bn/*.xml: No such file or directory make[3]: Entering directory `/builddir/build/BUILD/sssd-1.6.2/src/man' if [ -z $recursion ]; then \ for lang in `/bin/sed -ne 's/^.*\[po4a_langs\] \(.*\)$/\1/p' ./po/po4a.cfg`; do \ if [ -d $lang ]; then \ sources=$(ls -1 $lang/*.xml); \ manpages=$(echo $sources | /bin/sed 's/\.xml//g'); \ make recursion=1 man_MANS="$manpages"; \ fi \ done \ fi make[3]: Leaving directory `/builddir/build/BUILD/sssd-1.6.2/src/man' ls: cannot access ca/*.xml: No such file or directory make[3]: Entering directory `/builddir/build/BUILD/sssd-1.6.2/src/man' if [ -z $recursion ]; then \ for lang in `/bin/sed -ne 's/^.*\[po4a_langs\] \(.*\)$/\1/p' ./po/po4a.cfg`; do \ if [ -d $lang ]; then \ sources=$(ls -1 $lang/*.xml); \ manpages=$(echo $sources | /bin/sed 's/\.xml//g'); \ make recursion=1 man_MANS="$manpages"; \ fi \ done \ fi make[3]: Leaving directory `/builddir/build/BUILD/sssd-1.6.2/src/man' make[3]: Entering directory `/builddir/build/BUILD/sssd-1.6.2/src/man' if [ -z $recursion ]; then \ for lang in `/bin/sed -ne 's/^.*\[po4a_langs\] \(.*\)$/\1/p' ./po/po4a.cfg`; do \ if [ -d $lang ]; then \ sources=$(ls -1 $lang/*.xml); \ manpages=$(echo $sources | /bin/sed 's/\.xml//g'); \ make recursion=1 man_MANS="$manpages"; \ fi \ done \ fi make[3]: Leaving directory `/builddir/build/BUILD/sssd-1.6.2/src/man' ls: cannot access de/*.xml: No such file or directory make[3]: Entering directory `/builddir/build/BUILD/sssd-1.6.2/src/man' if [ -z $recursion ]; then \ for lang in `/bin/sed -ne 's/^.*\[po4a_langs\] \(.*\)$/\1/p' ./po/po4a.cfg`; do \ if [ -d $lang ]; then \ sources=$(ls -1 $lang/*.xml); \ manpages=$(echo $sources | /bin/sed 's/\.xml//g'); \ make recursion=1 man_MANS="$manpages"; \ fi \ done \ fi make[3]: Leaving directory `/builddir/build/BUILD/sssd-1.6.2/src/man' ls: cannot access el/*.xml: No such file or directory make[3]: Entering directory `/builddir/build/BUILD/sssd-1.6.2/src/man' if [ -z $recursion ]; then \ for lang in `/bin/sed -ne 's/^.*\[po4a_langs\] \(.*\)$/\1/p' ./po/po4a.cfg`; do \ if [ -d $lang ]; then \ sources=$(ls -1 $lang/*.xml); \ manpages=$(echo $sources | /bin/sed 's/\.xml//g'); \ make recursion=1 man_MANS="$manpages"; \ fi \ done \ fi make[3]: Leaving directory `/builddir/build/BUILD/sssd-1.6.2/src/man' make[3]: Entering directory `/builddir/build/BUILD/sssd-1.6.2/src/man' if [ -z $recursion ]; then \ for lang in `/bin/sed -ne 's/^.*\[po4a_langs\] \(.*\)$/\1/p' ./po/po4a.cfg`; do \ if [ -d $lang ]; then \ sources=$(ls -1 $lang/*.xml); \ manpages=$(echo $sources | /bin/sed 's/\.xml//g'); \ make recursion=1 man_MANS="$manpages"; \ fi \ done \ fi make[3]: Leaving directory `/builddir/build/BUILD/sssd-1.6.2/src/man' ls: cannot access et/*.xml: No such file or directory make[3]: Entering directory `/builddir/build/BUILD/sssd-1.6.2/src/man' if [ -z $recursion ]; then \ for lang in `/bin/sed -ne 's/^.*\[po4a_langs\] \(.*\)$/\1/p' ./po/po4a.cfg`; do \ if [ -d $lang ]; then \ sources=$(ls -1 $lang/*.xml); \ manpages=$(echo $sources | /bin/sed 's/\.xml//g'); \ make recursion=1 man_MANS="$manpages"; \ fi \ done \ fi make[3]: Leaving directory `/builddir/build/BUILD/sssd-1.6.2/src/man' ls: cannot access fa/*.xml: No such file or directory make[3]: Entering directory `/builddir/build/BUILD/sssd-1.6.2/src/man' if [ -z $recursion ]; then \ for lang in `/bin/sed -ne 's/^.*\[po4a_langs\] \(.*\)$/\1/p' ./po/po4a.cfg`; do \ if [ -d $lang ]; then \ sources=$(ls -1 $lang/*.xml); \ manpages=$(echo $sources | /bin/sed 's/\.xml//g'); \ make recursion=1 man_MANS="$manpages"; \ fi \ done \ fi make[3]: Leaving directory `/builddir/build/BUILD/sssd-1.6.2/src/man' ls: cannot access fi/*.xml: No such file or directory make[3]: Entering directory `/builddir/build/BUILD/sssd-1.6.2/src/man' if [ -z $recursion ]; then \ for lang in `/bin/sed -ne 's/^.*\[po4a_langs\] \(.*\)$/\1/p' ./po/po4a.cfg`; do \ if [ -d $lang ]; then \ sources=$(ls -1 $lang/*.xml); \ manpages=$(echo $sources | /bin/sed 's/\.xml//g'); \ make recursion=1 man_MANS="$manpages"; \ fi \ done \ fi make[3]: Leaving directory `/builddir/build/BUILD/sssd-1.6.2/src/man' make[3]: Entering directory `/builddir/build/BUILD/sssd-1.6.2/src/man' if [ -z $recursion ]; then \ for lang in `/bin/sed -ne 's/^.*\[po4a_langs\] \(.*\)$/\1/p' ./po/po4a.cfg`; do \ if [ -d $lang ]; then \ sources=$(ls -1 $lang/*.xml); \ manpages=$(echo $sources | /bin/sed 's/\.xml//g'); \ make recursion=1 man_MANS="$manpages"; \ fi \ done \ fi make[3]: Leaving directory `/builddir/build/BUILD/sssd-1.6.2/src/man' ls: cannot access hu/*.xml: No such file or directory make[3]: Entering directory `/builddir/build/BUILD/sssd-1.6.2/src/man' if [ -z $recursion ]; then \ for lang in `/bin/sed -ne 's/^.*\[po4a_langs\] \(.*\)$/\1/p' ./po/po4a.cfg`; do \ if [ -d $lang ]; then \ sources=$(ls -1 $lang/*.xml); \ manpages=$(echo $sources | /bin/sed 's/\.xml//g'); \ make recursion=1 man_MANS="$manpages"; \ fi \ done \ fi make[3]: Leaving directory `/builddir/build/BUILD/sssd-1.6.2/src/man' ls: cannot access it/*.xml: No such file or directory make[3]: Entering directory `/builddir/build/BUILD/sssd-1.6.2/src/man' if [ -z $recursion ]; then \ for lang in `/bin/sed -ne 's/^.*\[po4a_langs\] \(.*\)$/\1/p' ./po/po4a.cfg`; do \ if [ -d $lang ]; then \ sources=$(ls -1 $lang/*.xml); \ manpages=$(echo $sources | /bin/sed 's/\.xml//g'); \ make recursion=1 man_MANS="$manpages"; \ fi \ done \ fi make[3]: Leaving directory `/builddir/build/BUILD/sssd-1.6.2/src/man' ls: cannot access ja_JP/*.xml: No such file or directory make[3]: Entering directory `/builddir/build/BUILD/sssd-1.6.2/src/man' if [ -z $recursion ]; then \ for lang in `/bin/sed -ne 's/^.*\[po4a_langs\] \(.*\)$/\1/p' ./po/po4a.cfg`; do \ if [ -d $lang ]; then \ sources=$(ls -1 $lang/*.xml); \ manpages=$(echo $sources | /bin/sed 's/\.xml//g'); \ make recursion=1 man_MANS="$manpages"; \ fi \ done \ fi make[3]: Leaving directory `/builddir/build/BUILD/sssd-1.6.2/src/man' ls: cannot access ja/*.xml: No such file or directory make[3]: Entering directory `/builddir/build/BUILD/sssd-1.6.2/src/man' if [ -z $recursion ]; then \ for lang in `/bin/sed -ne 's/^.*\[po4a_langs\] \(.*\)$/\1/p' ./po/po4a.cfg`; do \ if [ -d $lang ]; then \ sources=$(ls -1 $lang/*.xml); \ manpages=$(echo $sources | /bin/sed 's/\.xml//g'); \ make recursion=1 man_MANS="$manpages"; \ fi \ done \ fi make[3]: Leaving directory `/builddir/build/BUILD/sssd-1.6.2/src/man' ls: cannot access ko/*.xml: No such file or directory make[3]: Entering directory `/builddir/build/BUILD/sssd-1.6.2/src/man' if [ -z $recursion ]; then \ for lang in `/bin/sed -ne 's/^.*\[po4a_langs\] \(.*\)$/\1/p' ./po/po4a.cfg`; do \ if [ -d $lang ]; then \ sources=$(ls -1 $lang/*.xml); \ manpages=$(echo $sources | /bin/sed 's/\.xml//g'); \ make recursion=1 man_MANS="$manpages"; \ fi \ done \ fi make[3]: Leaving directory `/builddir/build/BUILD/sssd-1.6.2/src/man' ls: cannot access lt/*.xml: No such file or directory make[3]: Entering directory `/builddir/build/BUILD/sssd-1.6.2/src/man' if [ -z $recursion ]; then \ for lang in `/bin/sed -ne 's/^.*\[po4a_langs\] \(.*\)$/\1/p' ./po/po4a.cfg`; do \ if [ -d $lang ]; then \ sources=$(ls -1 $lang/*.xml); \ manpages=$(echo $sources | /bin/sed 's/\.xml//g'); \ make recursion=1 man_MANS="$manpages"; \ fi \ done \ fi make[3]: Leaving directory `/builddir/build/BUILD/sssd-1.6.2/src/man' ls: cannot access nb/*.xml: No such file or directory make[3]: Entering directory `/builddir/build/BUILD/sssd-1.6.2/src/man' if [ -z $recursion ]; then \ for lang in `/bin/sed -ne 's/^.*\[po4a_langs\] \(.*\)$/\1/p' ./po/po4a.cfg`; do \ if [ -d $lang ]; then \ sources=$(ls -1 $lang/*.xml); \ manpages=$(echo $sources | /bin/sed 's/\.xml//g'); \ make recursion=1 man_MANS="$manpages"; \ fi \ done \ fi make[3]: Leaving directory `/builddir/build/BUILD/sssd-1.6.2/src/man' make[3]: Entering directory `/builddir/build/BUILD/sssd-1.6.2/src/man' if [ -z $recursion ]; then \ for lang in `/bin/sed -ne 's/^.*\[po4a_langs\] \(.*\)$/\1/p' ./po/po4a.cfg`; do \ if [ -d $lang ]; then \ sources=$(ls -1 $lang/*.xml); \ manpages=$(echo $sources | /bin/sed 's/\.xml//g'); \ make recursion=1 man_MANS="$manpages"; \ fi \ done \ fi make[3]: Leaving directory `/builddir/build/BUILD/sssd-1.6.2/src/man' ls: cannot access nn/*.xml: No such file or directory make[3]: Entering directory `/builddir/build/BUILD/sssd-1.6.2/src/man' if [ -z $recursion ]; then \ for lang in `/bin/sed -ne 's/^.*\[po4a_langs\] \(.*\)$/\1/p' ./po/po4a.cfg`; do \ if [ -d $lang ]; then \ sources=$(ls -1 $lang/*.xml); \ manpages=$(echo $sources | /bin/sed 's/\.xml//g'); \ make recursion=1 man_MANS="$manpages"; \ fi \ done \ fi make[3]: Leaving directory `/builddir/build/BUILD/sssd-1.6.2/src/man' ls: cannot access pl/*.xml: No such file or directory make[3]: Entering directory `/builddir/build/BUILD/sssd-1.6.2/src/man' if [ -z $recursion ]; then \ for lang in `/bin/sed -ne 's/^.*\[po4a_langs\] \(.*\)$/\1/p' ./po/po4a.cfg`; do \ if [ -d $lang ]; then \ sources=$(ls -1 $lang/*.xml); \ manpages=$(echo $sources | /bin/sed 's/\.xml//g'); \ make recursion=1 man_MANS="$manpages"; \ fi \ done \ fi make[3]: Leaving directory `/builddir/build/BUILD/sssd-1.6.2/src/man' ls: cannot access pt_BR/*.xml: No such file or directory make[3]: Entering directory `/builddir/build/BUILD/sssd-1.6.2/src/man' if [ -z $recursion ]; then \ for lang in `/bin/sed -ne 's/^.*\[po4a_langs\] \(.*\)$/\1/p' ./po/po4a.cfg`; do \ if [ -d $lang ]; then \ sources=$(ls -1 $lang/*.xml); \ manpages=$(echo $sources | /bin/sed 's/\.xml//g'); \ make recursion=1 man_MANS="$manpages"; \ fi \ done \ fi make[3]: Leaving directory `/builddir/build/BUILD/sssd-1.6.2/src/man' ls: cannot access pt/*.xml: No such file or directory make[3]: Entering directory `/builddir/build/BUILD/sssd-1.6.2/src/man' if [ -z $recursion ]; then \ for lang in `/bin/sed -ne 's/^.*\[po4a_langs\] \(.*\)$/\1/p' ./po/po4a.cfg`; do \ if [ -d $lang ]; then \ sources=$(ls -1 $lang/*.xml); \ manpages=$(echo $sources | /bin/sed 's/\.xml//g'); \ make recursion=1 man_MANS="$manpages"; \ fi \ done \ fi make[3]: Leaving directory `/builddir/build/BUILD/sssd-1.6.2/src/man' ls: cannot access ru/*.xml: No such file or directory make[3]: Entering directory `/builddir/build/BUILD/sssd-1.6.2/src/man' if [ -z $recursion ]; then \ for lang in `/bin/sed -ne 's/^.*\[po4a_langs\] \(.*\)$/\1/p' ./po/po4a.cfg`; do \ if [ -d $lang ]; then \ sources=$(ls -1 $lang/*.xml); \ manpages=$(echo $sources | /bin/sed 's/\.xml//g'); \ make recursion=1 man_MANS="$manpages"; \ fi \ done \ fi make[3]: Leaving directory `/builddir/build/BUILD/sssd-1.6.2/src/man' ls: cannot access sk/*.xml: No such file or directory make[3]: Entering directory `/builddir/build/BUILD/sssd-1.6.2/src/man' if [ -z $recursion ]; then \ for lang in `/bin/sed -ne 's/^.*\[po4a_langs\] \(.*\)$/\1/p' ./po/po4a.cfg`; do \ if [ -d $lang ]; then \ sources=$(ls -1 $lang/*.xml); \ manpages=$(echo $sources | /bin/sed 's/\.xml//g'); \ make recursion=1 man_MANS="$manpages"; \ fi \ done \ fi make[3]: Leaving directory `/builddir/build/BUILD/sssd-1.6.2/src/man' ls: cannot access sq/*.xml: No such file or directory make[3]: Entering directory `/builddir/build/BUILD/sssd-1.6.2/src/man' if [ -z $recursion ]; then \ for lang in `/bin/sed -ne 's/^.*\[po4a_langs\] \(.*\)$/\1/p' ./po/po4a.cfg`; do \ if [ -d $lang ]; then \ sources=$(ls -1 $lang/*.xml); \ manpages=$(echo $sources | /bin/sed 's/\.xml//g'); \ make recursion=1 man_MANS="$manpages"; \ fi \ done \ fi make[3]: Leaving directory `/builddir/build/BUILD/sssd-1.6.2/src/man' ls: cannot access sr/*.xml: No such file or directory make[3]: Entering directory `/builddir/build/BUILD/sssd-1.6.2/src/man' if [ -z $recursion ]; then \ for lang in `/bin/sed -ne 's/^.*\[po4a_langs\] \(.*\)$/\1/p' ./po/po4a.cfg`; do \ if [ -d $lang ]; then \ sources=$(ls -1 $lang/*.xml); \ manpages=$(echo $sources | /bin/sed 's/\.xml//g'); \ make recursion=1 man_MANS="$manpages"; \ fi \ done \ fi make[3]: Leaving directory `/builddir/build/BUILD/sssd-1.6.2/src/man' ls: cannot access ta/*.xml: No such file or directory make[3]: Entering directory `/builddir/build/BUILD/sssd-1.6.2/src/man' if [ -z $recursion ]; then \ for lang in `/bin/sed -ne 's/^.*\[po4a_langs\] \(.*\)$/\1/p' ./po/po4a.cfg`; do \ if [ -d $lang ]; then \ sources=$(ls -1 $lang/*.xml); \ manpages=$(echo $sources | /bin/sed 's/\.xml//g'); \ make recursion=1 man_MANS="$manpages"; \ fi \ done \ fi make[3]: Leaving directory `/builddir/build/BUILD/sssd-1.6.2/src/man' ls: cannot access tr/*.xml: No such file or directory make[3]: Entering directory `/builddir/build/BUILD/sssd-1.6.2/src/man' if [ -z $recursion ]; then \ for lang in `/bin/sed -ne 's/^.*\[po4a_langs\] \(.*\)$/\1/p' ./po/po4a.cfg`; do \ if [ -d $lang ]; then \ sources=$(ls -1 $lang/*.xml); \ manpages=$(echo $sources | /bin/sed 's/\.xml//g'); \ make recursion=1 man_MANS="$manpages"; \ fi \ done \ fi make[3]: Leaving directory `/builddir/build/BUILD/sssd-1.6.2/src/man' make[3]: Entering directory `/builddir/build/BUILD/sssd-1.6.2/src/man' if [ -z $recursion ]; then \ for lang in `/bin/sed -ne 's/^.*\[po4a_langs\] \(.*\)$/\1/p' ./po/po4a.cfg`; do \ if [ -d $lang ]; then \ sources=$(ls -1 $lang/*.xml); \ manpages=$(echo $sources | /bin/sed 's/\.xml//g'); \ make recursion=1 man_MANS="$manpages"; \ fi \ done \ fi make[3]: Leaving directory `/builddir/build/BUILD/sssd-1.6.2/src/man' ls: cannot access vi/*.xml: No such file or directory make[3]: Entering directory `/builddir/build/BUILD/sssd-1.6.2/src/man' if [ -z $recursion ]; then \ for lang in `/bin/sed -ne 's/^.*\[po4a_langs\] \(.*\)$/\1/p' ./po/po4a.cfg`; do \ if [ -d $lang ]; then \ sources=$(ls -1 $lang/*.xml); \ manpages=$(echo $sources | /bin/sed 's/\.xml//g'); \ make recursion=1 man_MANS="$manpages"; \ fi \ done \ fi make[3]: Leaving directory `/builddir/build/BUILD/sssd-1.6.2/src/man' ls: cannot access zh_CN/*.xml: No such file or directory make[3]: Entering directory `/builddir/build/BUILD/sssd-1.6.2/src/man' if [ -z $recursion ]; then \ for lang in `/bin/sed -ne 's/^.*\[po4a_langs\] \(.*\)$/\1/p' ./po/po4a.cfg`; do \ if [ -d $lang ]; then \ sources=$(ls -1 $lang/*.xml); \ manpages=$(echo $sources | /bin/sed 's/\.xml//g'); \ make recursion=1 man_MANS="$manpages"; \ fi \ done \ fi make[3]: Leaving directory `/builddir/build/BUILD/sssd-1.6.2/src/man' ls: cannot access zh_TW/*.xml: No such file or directory make[3]: Entering directory `/builddir/build/BUILD/sssd-1.6.2/src/man' if [ -z $recursion ]; then \ for lang in `/bin/sed -ne 's/^.*\[po4a_langs\] \(.*\)$/\1/p' ./po/po4a.cfg`; do \ if [ -d $lang ]; then \ sources=$(ls -1 $lang/*.xml); \ manpages=$(echo $sources | /bin/sed 's/\.xml//g'); \ make recursion=1 man_MANS="$manpages"; \ fi \ done \ fi make[3]: Leaving directory `/builddir/build/BUILD/sssd-1.6.2/src/man' make[2]: Leaving directory `/builddir/build/BUILD/sssd-1.6.2/src/man' make[2]: Entering directory `/builddir/build/BUILD/sssd-1.6.2' \ # source='src/python/pysss.c' object='src/python/pysss_la-pysss.lo' libtool=yes /bin/sh ./libtool --tag=CC --mode=compile gcc -DHAVE_CONFIG_H -I. -Wall -Iinclude -I.. -I./include -I./src/sss_client -I./src -Iinclude -I. -I/usr/include/dbus-1.0 -I/usr/lib64/dbus-1.0/include -DLIBDIR=\"/usr/lib64\" -DVARDIR=\"/var\" -DSHLIBEXT=\"\" -DSSSD_LIBEXEC_PATH=\"/usr/libexec/sssd\" -DSSSD_INTROSPECT_PATH=\"\" -DSSSD_CONF_DIR=\"/etc/sssd\" -DSSS_NSS_SOCKET_NAME=\"/var/lib/sss/pipes/nss\" -DSSS_PAM_SOCKET_NAME=\"/var/lib/sss/pipes/pam\" -DSSS_PAM_PRIV_SOCKET_NAME=\"/var/lib/sss/pipes/private/pam\" -DLOCALEDIR=\"/usr/share/locale\" -Wall -Wshadow -Wstrict-prototypes -Wpointer-arith -Wcast-qual -Wcast-align -Wwrite-strings -Werror-implicit-function-declaration -I/usr/include/python2.7 -I/usr/include/python2.7 -fno-strict-aliasing -fplugin=python2 -fplugin-arg-python2-script=/test.py -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -m64 -mtune=generic -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -c -o src/python/pysss_la-pysss.lo `test -f 'src/python/pysss.c' || echo './'`src/python/pysss.c libtool: compile: gcc -DHAVE_CONFIG_H -I. -Wall -Iinclude -I.. -I./include -I./src/sss_client -I./src -Iinclude -I. -I/usr/include/dbus-1.0 -I/usr/lib64/dbus-1.0/include -DLIBDIR=\"/usr/lib64\" -DVARDIR=\"/var\" -DSHLIBEXT=\"\" -DSSSD_LIBEXEC_PATH=\"/usr/libexec/sssd\" -DSSSD_INTROSPECT_PATH=\"\" -DSSSD_CONF_DIR=\"/etc/sssd\" -DSSS_NSS_SOCKET_NAME=\"/var/lib/sss/pipes/nss\" -DSSS_PAM_SOCKET_NAME=\"/var/lib/sss/pipes/pam\" -DSSS_PAM_PRIV_SOCKET_NAME=\"/var/lib/sss/pipes/private/pam\" -DLOCALEDIR=\"/usr/share/locale\" -Wall -Wshadow -Wstrict-prototypes -Wpointer-arith -Wcast-qual -Wcast-align -Wwrite-strings -Werror-implicit-function-declaration -I/usr/include/python2.7 -I/usr/include/python2.7 -fno-strict-aliasing -fplugin=python2 -fplugin-arg-python2-script=/test.py -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -m64 -mtune=generic -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -c src/python/pysss.c -fPIC -DPIC -o src/python/.libs/pysss_la-pysss.o src/python/pysss.c: In function 'py_sss_encrypt': src/python/pysss.c:879:26: warning: Mismatching type in call to PyArg_ParseTuple with format code "s#i" [enabled by default] argument 3 ("&password") had type "char * *" but was expecting "const char * *" for format code "s#" src/python/pysss.c:905:1: warning: returning (PyObject*)NULL without setting an exception [enabled by default] src/python/pysss.c:879:26: note: when PyArg_ParseTuple() succeeds at: if (!PyArg_ParseTuple(args, discard_const_p(char, "s#i"), src/python/pysss.c:879:8: note: taking False path at: if (!PyArg_ParseTuple(args, discard_const_p(char, "s#i"), src/python/pysss.c:884:10: note: reaching: tctx = talloc_new(NULL); src/python/pysss.c:885:8: note: when treating unknown void * from src/python/pysss.c:884 as non-NULL at: if (!tctx) { src/python/pysss.c:885:8: note: taking False path at: if (!tctx) { src/python/pysss.c:890:31: note: reaching: ret = sss_password_encrypt(tctx, password, plen+1, src/python/pysss.c:892:8: note: when considering range: -0x80000000 <= value <= -1 at: if (ret != EOK) { src/python/pysss.c:892:8: note: taking True path at: if (ret != EOK) { src/python/pysss.c:893:26: note: reaching: PyErr_SetSssError(ret); src/python/pysss.c:905:1: note: returning src/python/pysss.c:905:1: note: found 1 similar trace(s) to this src/python/pysss.c:869:1: note: graphical error report for function 'py_sss_encrypt' written out to 'src/python/.libs/pysss.c.py_sss_encrypt-refcount-errors.html' src/python/pysss.c: In function 'py_sss_groupmod': src/python/pysss.c:657:37: warning: Mismatching type in call to PyArg_ParseTupleAndKeywords with format code "s|kO!O!" [enabled by default] argument 5 ("&groupname") had type "char * *" but was expecting "const char * *" for format code "s" src/python/pysss.c:724:1: warning: returning (PyObject*)NULL without setting an exception [enabled by default] src/python/pysss.c:657:37: note: when PyArg_ParseTupleAndKeywords() succeeds at: if (!PyArg_ParseTupleAndKeywords(args, kwds, src/python/pysss.c:657:8: note: taking False path at: if (!PyArg_ParseTupleAndKeywords(args, kwds, src/python/pysss.c:669:20: note: reaching: tctx = init_ctx(self->mem_ctx, self); src/python/pysss.c:670:8: note: when treating unknown struct tools_ctx * from src/python/pysss.c:669 as non-NULL at: if (!tctx) { src/python/pysss.c:670:8: note: taking False path at: if (!tctx) { src/python/pysss.c:675:22: note: reaching: if (py_addgroups != Py_None) { src/python/pysss.c:675:8: note: taking True path at: if (py_addgroups != Py_None) { src/python/pysss.c:676:13: note: reaching: tctx->octx->addgroups = PyList_AsStringList(tctx, src/python/pysss.c:676:31: note: when treating unknown struct ops_ctx * from src/python/pysss.c:676 as non-NULL at: tctx->octx->addgroups = PyList_AsStringList(tctx, src/python/pysss.c:679:24: note: when treating unknown struct ops_ctx * from src/python/pysss.c:679 as non-NULL at: if (!tctx->octx->addgroups) { src/python/pysss.c:679:12: note: when treating unknown char * * from src/python/pysss.c:679 as non-NULL at: if (!tctx->octx->addgroups) { src/python/pysss.c:679:12: note: taking False path at: if (!tctx->octx->addgroups) { src/python/pysss.c:684:21: note: reaching: if (py_rmgroups != Py_None) { src/python/pysss.c:684:8: note: taking True path at: if (py_rmgroups != Py_None) { src/python/pysss.c:685:13: note: reaching: tctx->octx->rmgroups = PyList_AsStringList(tctx, src/python/pysss.c:685:30: note: when treating unknown struct ops_ctx * from src/python/pysss.c:685 as non-NULL at: tctx->octx->rmgroups = PyList_AsStringList(tctx, src/python/pysss.c:688:24: note: when treating unknown struct ops_ctx * from src/python/pysss.c:688 as non-NULL at: if (!tctx->octx->rmgroups) { src/python/pysss.c:688:12: note: when treating unknown char * * from src/python/pysss.c:688 as non-NULL at: if (!tctx->octx->rmgroups) { src/python/pysss.c:688:12: note: taking False path at: if (!tctx->octx->rmgroups) { src/python/pysss.c:693:9: note: reaching: tctx->octx->name = groupname; src/python/pysss.c:693:22: note: when treating unknown struct ops_ctx * from src/python/pysss.c:693 as non-NULL at: tctx->octx->name = groupname; src/python/pysss.c:694:21: note: when treating unknown struct ops_ctx * from src/python/pysss.c:694 as non-NULL at: tctx->octx->gid = gid; src/python/pysss.c:698:8: note: when considering range: -0x80000000 <= value <= -1 at: if (tctx->error != EOK) { src/python/pysss.c:698:8: note: taking True path at: if (tctx->error != EOK) { src/python/pysss.c:699:26: note: reaching: PyErr_SetSssError(tctx->error); src/python/pysss.c:724:1: note: returning src/python/pysss.c:724:1: note: found 7 similar trace(s) to this src/python/pysss.c:647:1: note: graphical error report for function 'py_sss_groupmod' written out to 'src/python/.libs/pysss.c.py_sss_groupmod-refcount-errors.html' src/python/pysss.c: In function 'py_sss_groupdel': src/python/pysss.c:605:25: warning: Mismatching type in call to PyArg_ParseTuple with format code "s" [enabled by default] argument 3 ("&groupname") had type "char * *" but was expecting "const char * *" for format code "s" src/python/pysss.c:630:1: warning: returning (PyObject*)NULL without setting an exception [enabled by default] src/python/pysss.c:605:25: note: when PyArg_ParseTuple() succeeds at: if(!PyArg_ParseTuple(args, discard_const_p(char, "s"), &groupname)) { src/python/pysss.c:605:7: note: taking False path at: if(!PyArg_ParseTuple(args, discard_const_p(char, "s"), &groupname)) { src/python/pysss.c:609:20: note: reaching: tctx = init_ctx(self->mem_ctx, self); src/python/pysss.c:610:8: note: when treating unknown struct tools_ctx * from src/python/pysss.c:609 as non-NULL at: if (!tctx) { src/python/pysss.c:610:8: note: taking False path at: if (!tctx) { src/python/pysss.c:615:9: note: reaching: tctx->octx->name = groupname; src/python/pysss.c:615:22: note: when treating unknown struct ops_ctx * from src/python/pysss.c:615 as non-NULL at: tctx->octx->name = groupname; src/python/pysss.c:619:8: note: when considering range: -0x80000000 <= value <= -1 at: if (ret != EOK) { src/python/pysss.c:619:8: note: taking True path at: if (ret != EOK) { src/python/pysss.c:620:26: note: reaching: PyErr_SetSssError(ret); src/python/pysss.c:630:1: note: returning src/python/pysss.c:630:1: note: found 1 similar trace(s) to this src/python/pysss.c:600:1: note: graphical error report for function 'py_sss_groupdel' written out to 'src/python/.libs/pysss.c.py_sss_groupdel-refcount-errors.html' src/python/pysss.c: In function 'py_sss_groupadd': src/python/pysss.c:543:37: warning: Mismatching type in call to PyArg_ParseTupleAndKeywords with format code "s|k" [enabled by default] argument 5 ("&groupname") had type "char * *" but was expecting "const char * *" for format code "s" src/python/pysss.c:588:1: warning: returning (PyObject*)NULL without setting an exception [enabled by default] src/python/pysss.c:543:37: note: when PyArg_ParseTupleAndKeywords() succeeds at: if (!PyArg_ParseTupleAndKeywords(args, kwds, src/python/pysss.c:543:8: note: taking False path at: if (!PyArg_ParseTupleAndKeywords(args, kwds, src/python/pysss.c:551:20: note: reaching: tctx = init_ctx(self->mem_ctx, self); src/python/pysss.c:552:8: note: when treating unknown struct tools_ctx * from src/python/pysss.c:551 as non-NULL at: if (!tctx) { src/python/pysss.c:552:8: note: taking False path at: if (!tctx) { src/python/pysss.c:557:9: note: reaching: tctx->octx->name = groupname; src/python/pysss.c:557:22: note: when treating unknown struct ops_ctx * from src/python/pysss.c:557 as non-NULL at: tctx->octx->name = groupname; src/python/pysss.c:558:21: note: when treating unknown struct ops_ctx * from src/python/pysss.c:558 as non-NULL at: tctx->octx->gid = gid; src/python/pysss.c:562:8: note: when considering range: -0x80000000 <= value <= -1 at: if (tctx->error != EOK) { src/python/pysss.c:562:8: note: taking True path at: if (tctx->error != EOK) { src/python/pysss.c:563:26: note: reaching: PyErr_SetSssError(tctx->error); src/python/pysss.c:588:1: note: returning src/python/pysss.c:588:1: note: found 5 similar trace(s) to this src/python/pysss.c:536:1: note: graphical error report for function 'py_sss_groupadd' written out to 'src/python/.libs/pysss.c.py_sss_groupadd-refcount-errors.html' src/python/pysss.c: In function 'py_sss_usermod': src/python/pysss.c:438:37: warning: Mismatching type in call to PyArg_ParseTupleAndKeywords with format code "s|kkksssO!O!" [enabled by default] argument 5 ("&username") had type "char * *" but was expecting "const char * *" for format code "s" src/python/pysss.c:438:37: warning: Mismatching type in call to PyArg_ParseTupleAndKeywords with format code "s|kkksssO!O!" [enabled by default] argument 9 ("&gecos") had type "char * *" but was expecting "const char * *" for format code "s" src/python/pysss.c:438:37: warning: Mismatching type in call to PyArg_ParseTupleAndKeywords with format code "s|kkksssO!O!" [enabled by default] argument 10 ("&home") had type "char * *" but was expecting "const char * *" for format code "s" src/python/pysss.c:438:37: warning: Mismatching type in call to PyArg_ParseTupleAndKeywords with format code "s|kkksssO!O!" [enabled by default] argument 11 ("&shell") had type "char * *" but was expecting "const char * *" for format code "s" src/python/pysss.c:521:1: warning: returning (PyObject*)NULL without setting an exception [enabled by default] src/python/pysss.c:438:37: note: when PyArg_ParseTupleAndKeywords() succeeds at: if (!PyArg_ParseTupleAndKeywords(args, kwds, src/python/pysss.c:438:8: note: taking False path at: if (!PyArg_ParseTupleAndKeywords(args, kwds, src/python/pysss.c:455:20: note: reaching: tctx = init_ctx(self->mem_ctx, self); src/python/pysss.c:456:8: note: when treating unknown struct tools_ctx * from src/python/pysss.c:455 as non-NULL at: if (!tctx) { src/python/pysss.c:456:8: note: taking False path at: if (!tctx) { src/python/pysss.c:461:33: note: reaching: if (lock && lock != DO_LOCK && lock != DO_UNLOCK) { src/python/pysss.c:461:8: note: when considering range: 0 <= value <= 2 at: if (lock && lock != DO_LOCK && lock != DO_UNLOCK) { src/python/pysss.c:461:8: note: taking False path at: if (lock && lock != DO_LOCK && lock != DO_UNLOCK) { src/python/pysss.c:467:22: note: reaching: if (py_addgroups != Py_None) { src/python/pysss.c:467:8: note: taking True path at: if (py_addgroups != Py_None) { src/python/pysss.c:468:13: note: reaching: tctx->octx->addgroups = PyList_AsStringList(tctx, src/python/pysss.c:468:31: note: when treating unknown struct ops_ctx * from src/python/pysss.c:468 as non-NULL at: tctx->octx->addgroups = PyList_AsStringList(tctx, src/python/pysss.c:471:24: note: when treating unknown struct ops_ctx * from src/python/pysss.c:471 as non-NULL at: if (!tctx->octx->addgroups) { src/python/pysss.c:471:12: note: when treating unknown char * * from src/python/pysss.c:471 as non-NULL at: if (!tctx->octx->addgroups) { src/python/pysss.c:471:12: note: taking False path at: if (!tctx->octx->addgroups) { src/python/pysss.c:476:21: note: reaching: if (py_rmgroups != Py_None) { src/python/pysss.c:476:8: note: taking True path at: if (py_rmgroups != Py_None) { src/python/pysss.c:477:13: note: reaching: tctx->octx->rmgroups = PyList_AsStringList(tctx, src/python/pysss.c:477:30: note: when treating unknown struct ops_ctx * from src/python/pysss.c:477 as non-NULL at: tctx->octx->rmgroups = PyList_AsStringList(tctx, src/python/pysss.c:480:24: note: when treating unknown struct ops_ctx * from src/python/pysss.c:480 as non-NULL at: if (!tctx->octx->rmgroups) { src/python/pysss.c:480:12: note: when treating unknown char * * from src/python/pysss.c:480 as non-NULL at: if (!tctx->octx->rmgroups) { src/python/pysss.c:480:12: note: taking False path at: if (!tctx->octx->rmgroups) { src/python/pysss.c:485:9: note: reaching: tctx->octx->name = username; src/python/pysss.c:485:23: note: when treating unknown struct ops_ctx * from src/python/pysss.c:485 as non-NULL at: tctx->octx->name = username; src/python/pysss.c:486:23: note: when treating unknown struct ops_ctx * from src/python/pysss.c:486 as non-NULL at: tctx->octx->uid = uid; src/python/pysss.c:487:23: note: when treating unknown struct ops_ctx * from src/python/pysss.c:487 as non-NULL at: tctx->octx->gid = gid; src/python/pysss.c:488:23: note: when treating unknown struct ops_ctx * from src/python/pysss.c:488 as non-NULL at: tctx->octx->gecos = gecos; src/python/pysss.c:489:23: note: when treating unknown struct ops_ctx * from src/python/pysss.c:489 as non-NULL at: tctx->octx->home = home; src/python/pysss.c:490:23: note: when treating unknown struct ops_ctx * from src/python/pysss.c:490 as non-NULL at: tctx->octx->shell = shell; src/python/pysss.c:491:23: note: when treating unknown struct ops_ctx * from src/python/pysss.c:491 as non-NULL at: tctx->octx->lock = lock; src/python/pysss.c:495:8: note: when considering range: -0x80000000 <= value <= -1 at: if (tctx->error != EOK) { src/python/pysss.c:495:8: note: taking True path at: if (tctx->error != EOK) { src/python/pysss.c:496:26: note: reaching: PyErr_SetSssError(tctx->error); src/python/pysss.c:521:1: note: returning src/python/pysss.c:521:1: note: found 7 similar trace(s) to this src/python/pysss.c:422:1: note: graphical error report for function 'py_sss_usermod' written out to 'src/python/.libs/pysss.c.py_sss_usermod-refcount-errors.html' src/python/pysss.c: In function 'py_sss_userdel': src/python/pysss.c:319:36: warning: Mismatching type in call to PyArg_ParseTupleAndKeywords with format code "s|O!O!" [enabled by default] argument 5 ("&username") had type "char * *" but was expecting "const char * *" for format code "s" src/python/pysss.c:310:1: note: this function is too complicated for the reference-count checker to fully analyze: not all paths were analyzed src/python/pysss.c:400:1: warning: returning (PyObject*)NULL without setting an exception [enabled by default] src/python/pysss.c:319:36: note: when PyArg_ParseTupleAndKeywords() succeeds at: if(!PyArg_ParseTupleAndKeywords(args, kwds, src/python/pysss.c:319:7: note: taking False path at: if(!PyArg_ParseTupleAndKeywords(args, kwds, src/python/pysss.c:330:20: note: reaching: tctx = init_ctx(self->mem_ctx, self); src/python/pysss.c:331:8: note: when treating unknown struct tools_ctx * from src/python/pysss.c:330 as non-NULL at: if (!tctx) { src/python/pysss.c:331:8: note: taking False path at: if (!tctx) { src/python/pysss.c:336:9: note: reaching: tctx->octx->name = username; src/python/pysss.c:336:22: note: when treating unknown struct ops_ctx * from src/python/pysss.c:336 as non-NULL at: tctx->octx->name = username; src/python/pysss.c:338:8: note: taking False path at: if (py_remove == Py_True) { src/python/pysss.c:340:26: note: reaching: } else if (py_remove == Py_False) { src/python/pysss.c:340:15: note: taking False path at: } else if (py_remove == Py_False) { src/python/pysss.c:347:27: note: reaching: ret = userdel_defaults(tctx, src/python/pysss.c:351:8: note: when considering value == (int)0 from src/python/pysss.c:347 at: if (ret != EOK) { src/python/pysss.c:351:8: note: taking False path at: if (ret != EOK) { src/python/pysss.c:356:9: note: reaching: ret = run_userdel_cmd(tctx); src/python/pysss.c:357:8: note: when considering value == (int)0 from src/python/pysss.c:356 at: if (ret != EOK) { src/python/pysss.c:357:8: note: taking False path at: if (ret != EOK) { src/python/pysss.c:362:13: note: reaching: if (tctx->octx->remove_homedir) { src/python/pysss.c:362:19: note: when treating unknown struct ops_ctx * from src/python/pysss.c:362 as non-NULL at: if (tctx->octx->remove_homedir) { src/python/pysss.c:362:8: note: when taking False path at: if (tctx->octx->remove_homedir) { src/python/pysss.c:375:18: note: reaching: ret = userdel(tctx, self->sysdb, tctx->octx); src/python/pysss.c:376:8: note: when considering range: -0x80000000 <= value <= -1 at: if (ret != EOK) { src/python/pysss.c:376:8: note: taking True path at: if (ret != EOK) { src/python/pysss.c:377:26: note: reaching: PyErr_SetSssError(ret); src/python/pysss.c:400:1: note: returning src/python/pysss.c:400:1: note: found 10 similar trace(s) to this src/python/pysss.c:310:1: note: graphical error report for function 'py_sss_userdel' written out to 'src/python/.libs/pysss.c.py_sss_userdel-refcount-errors.html' src/python/pysss.c: In function 'py_sss_useradd': src/python/pysss.c:176:37: warning: Mismatching type in call to PyArg_ParseTupleAndKeywords with format code "s|kkssssO!O!" [enabled by default] argument 5 ("&username") had type "char * *" but was expecting "const char * *" for format code "s" src/python/pysss.c:158:1: note: this function is too complicated for the reference-count checker to fully analyze: not all paths were analyzed src/python/pysss.c:294:1: warning: returning (PyObject*)NULL without setting an exception [enabled by default] src/python/pysss.c:176:37: note: when PyArg_ParseTupleAndKeywords() succeeds at: if (!PyArg_ParseTupleAndKeywords(args, kwds, src/python/pysss.c:176:8: note: taking False path at: if (!PyArg_ParseTupleAndKeywords(args, kwds, src/python/pysss.c:193:20: note: reaching: tctx = init_ctx(self->mem_ctx, self); src/python/pysss.c:194:8: note: when treating unknown struct tools_ctx * from src/python/pysss.c:193 as non-NULL at: if (!tctx) { src/python/pysss.c:194:8: note: taking False path at: if (!tctx) { src/python/pysss.c:199:19: note: reaching: if (py_groups != Py_None) { src/python/pysss.c:199:8: note: taking True path at: if (py_groups != Py_None) { src/python/pysss.c:200:13: note: reaching: tctx->octx->addgroups = PyList_AsStringList(tctx, py_groups, "groups"); src/python/pysss.c:200:31: note: when treating unknown struct ops_ctx * from src/python/pysss.c:200 as non-NULL at: tctx->octx->addgroups = PyList_AsStringList(tctx, py_groups, "groups"); src/python/pysss.c:201:24: note: when treating unknown struct ops_ctx * from src/python/pysss.c:201 as non-NULL at: if (!tctx->octx->addgroups) { src/python/pysss.c:201:12: note: when treating unknown char * * from src/python/pysss.c:201 as non-NULL at: if (!tctx->octx->addgroups) { src/python/pysss.c:201:12: note: taking False path at: if (!tctx->octx->addgroups) { src/python/pysss.c:209:24: note: reaching: if (py_create_home == Py_True) { src/python/pysss.c:209:8: note: taking False path at: if (py_create_home == Py_True) { src/python/pysss.c:211:31: note: reaching: } else if (py_create_home == Py_False) { src/python/pysss.c:211:15: note: taking False path at: } else if (py_create_home == Py_False) { src/python/pysss.c:215:9: note: reaching: tctx->octx->name = username; src/python/pysss.c:215:22: note: when treating unknown struct ops_ctx * from src/python/pysss.c:215 as non-NULL at: tctx->octx->name = username; src/python/pysss.c:216:21: note: when treating unknown struct ops_ctx * from src/python/pysss.c:216 as non-NULL at: tctx->octx->uid = uid; src/python/pysss.c:225:8: note: when considering value == (int)0 from src/python/pysss.c:219 at: if (ret != EOK) { src/python/pysss.c:225:8: note: taking False path at: if (ret != EOK) { src/python/pysss.c:231:42: note: reaching: tctx->error = sysdb_transaction_start(tctx->sysdb); src/python/pysss.c:232:8: note: when considering value == (int)0 from src/python/pysss.c:231 at: if (tctx->error != EOK) { src/python/pysss.c:232:8: note: taking False path at: if (tctx->error != EOK) { src/python/pysss.c:238:26: note: reaching: tctx->error = useradd(tctx, tctx->sysdb, tctx->octx); src/python/pysss.c:239:8: note: when considering value == (int)0 from src/python/pysss.c:238 at: if (tctx->error) { src/python/pysss.c:239:8: note: taking False path at: if (tctx->error) { src/python/pysss.c:246:43: note: reaching: tctx->error = sysdb_transaction_commit(tctx->sysdb); src/python/pysss.c:247:8: note: when considering value == (int)0 from src/python/pysss.c:246 at: if (tctx->error) { src/python/pysss.c:247:8: note: taking False path at: if (tctx->error) { src/python/pysss.c:253:13: note: reaching: if (tctx->octx->create_homedir) { src/python/pysss.c:253:19: note: when treating unknown struct ops_ctx * from src/python/pysss.c:253 as non-NULL at: if (tctx->octx->create_homedir) { src/python/pysss.c:253:8: note: when taking True path at: if (tctx->octx->create_homedir) { src/python/pysss.c:256:17: note: reaching: if (tctx->octx->uid == 0 || tctx->octx->gid == 0) { src/python/pysss.c:256:23: note: when treating unknown struct ops_ctx * from src/python/pysss.c:256 as non-NULL at: if (tctx->octx->uid == 0 || tctx->octx->gid == 0) { src/python/pysss.c:256:12: note: when considering value == (uid_t)0 from src/python/pysss.c:256 at: if (tctx->octx->uid == 0 || tctx->octx->gid == 0) { src/python/pysss.c:256:12: note: taking True path at: if (tctx->octx->uid == 0 || tctx->octx->gid == 0) { src/python/pysss.c:257:38: note: reaching: ret = sysdb_getpwnam_sync(tctx, src/python/pysss.c:259:49: note: when treating unknown struct ops_ctx * from src/python/pysss.c:259 as non-NULL at: tctx->octx->name, src/python/pysss.c:262:16: note: when considering range: -0x80000000 <= value <= -1 at: if (ret != EOK) { src/python/pysss.c:262:16: note: taking True path at: if (ret != EOK) { src/python/pysss.c:263:34: note: reaching: PyErr_SetSssError(ret); src/python/pysss.c:294:1: note: returning src/python/pysss.c:294:1: note: found 7 similar trace(s) to this src/python/pysss.c:158:1: note: graphical error report for function 'py_sss_useradd' written out to 'src/python/.libs/pysss.c.py_sss_useradd-refcount-errors.html' src/python/pysss.c: In function 'PySssLocalObject_new': src/python/pysss.c:800:1: warning: ob_refcnt of '*self' is 1 too high [enabled by default] src/python/pysss.c:800:1: note: was expecting final ob_refcnt to be N + 0 (for some unknown N) src/python/pysss.c:800:1: note: but final ob_refcnt is N + 1 src/python/pysss.c:756:10: note: new ref from call through function pointer allocated at: self = (PySssLocalObject *) type->tp_alloc(type, 0); src/python/pysss.c:751:8: note: when treating unknown void * from src/python/pysss.c:750 as non-NULL at: if (mem_ctx == NULL) { src/python/pysss.c:751:8: note: taking False path at: if (mem_ctx == NULL) { src/python/pysss.c:756:37: note: reaching: self = (PySssLocalObject *) type->tp_alloc(type, 0); src/python/pysss.c:756:10: note: when call succeeds at: self = (PySssLocalObject *) type->tp_alloc(type, 0); src/python/pysss.c:756:10: note: ob_refcnt is now refs: 1 + N where N >= 0 src/python/pysss.c:757:8: note: taking False path at: if (self == NULL) { src/python/pysss.c:762:19: note: reaching: self->mem_ctx = mem_ctx; src/python/pysss.c:765:8: note: when treating unknown char * from src/python/pysss.c:764 as non-NULL at: if (confdb_path == NULL) { src/python/pysss.c:765:8: note: taking False path at: if (confdb_path == NULL) { src/python/pysss.c:772:22: note: reaching: ret = confdb_init(self->mem_ctx, &self->confdb, confdb_path); src/python/pysss.c:773:8: note: when considering range: -0x80000000 <= value <= -1 at: if (ret != EOK) { src/python/pysss.c:773:8: note: taking True path at: if (ret != EOK) { src/python/pysss.c:774:9: note: reaching: talloc_free(mem_ctx); src/python/pysss.c:800:1: note: returning src/python/pysss.c:800:1: note: found 6 similar trace(s) to this src/python/pysss.c:800:1: warning: returning (PyObject*)NULL without setting an exception [enabled by default] src/python/pysss.c:751:8: note: when treating unknown void * from src/python/pysss.c:750 as non-NULL at: if (mem_ctx == NULL) { src/python/pysss.c:751:8: note: taking False path at: if (mem_ctx == NULL) { src/python/pysss.c:756:37: note: reaching: self = (PySssLocalObject *) type->tp_alloc(type, 0); src/python/pysss.c:756:10: note: when call succeeds at: self = (PySssLocalObject *) type->tp_alloc(type, 0); src/python/pysss.c:757:8: note: taking False path at: if (self == NULL) { src/python/pysss.c:762:19: note: reaching: self->mem_ctx = mem_ctx; src/python/pysss.c:765:8: note: when treating unknown char * from src/python/pysss.c:764 as non-NULL at: if (confdb_path == NULL) { src/python/pysss.c:765:8: note: taking False path at: if (confdb_path == NULL) { src/python/pysss.c:772:22: note: reaching: ret = confdb_init(self->mem_ctx, &self->confdb, confdb_path); src/python/pysss.c:773:8: note: when considering range: -0x80000000 <= value <= -1 at: if (ret != EOK) { src/python/pysss.c:773:8: note: taking True path at: if (ret != EOK) { src/python/pysss.c:774:9: note: reaching: talloc_free(mem_ctx); src/python/pysss.c:800:1: note: returning src/python/pysss.c:800:1: note: found 5 similar trace(s) to this src/python/pysss.c:744:1: note: graphical error report for function 'PySssLocalObject_new' written out to 'src/python/.libs/pysss.c.PySssLocalObject_new-refcount-errors.html' src/python/pysss.c: At top level: src/python/pysss.c:983:40: warning: flags do not match callback signature for 'py_sss_encrypt' within PyMethodDef table [enabled by default] src/python/pysss.c:983:40: note: expected ml_meth callback of type "PyObject (fn)(someobject *, PyObject *)" (2 arguments) src/python/pysss.c:983:40: note: actual type of underlying callback: struct PyObject * (struct PySssPasswordObject *, struct PyObject *, struct PyObject *) (3 arguments) src/python/pysss.c:983:40: note: see http://docs.python.org/c-api/structures.html#PyMethodDef /bin/sh ./libtool --tag=CC --mode=link gcc -Wall -Wshadow -Wstrict-prototypes -Wpointer-arith -Wcast-qual -Wcast-align -Wwrite-strings -Werror-implicit-function-declaration -I/usr/include/python2.7 -I/usr/include/python2.7 -fno-strict-aliasing -fplugin=python2 -fplugin-arg-python2-script=/test.py -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -m64 -mtune=generic -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -avoid-version -module -Wl,-z,relro -o pysss.la -rpath /usr/lib64/python2.7/site-packages src/tools/pysss_la-sss_sync_ops.lo src/tools/pysss_la-tools_util.lo src/tools/pysss_la-files.lo src/tools/pysss_la-selinux.lo src/tools/pysss_la-nscd.lo src/python/pysss_la-pysss.lo -ltalloc -ltevent -ltalloc -lpopt -lldb -L/lib64 -ldbus-1 -lpthread -lrt -lpcre -ldhash -lssl3 -lsmime3 -lnss3 -lnssutil3 -lplds4 -lplc4 -lnspr4 -lpthread -ldl -llber -lldap -ltdb -lselinux -lsemanage -lpthread -ldl -lutil -lm -lpython2.7 libsss_util.la libtool: link: gcc -shared -fPIC -DPIC src/tools/.libs/pysss_la-sss_sync_ops.o src/tools/.libs/pysss_la-tools_util.o src/tools/.libs/pysss_la-files.o src/tools/.libs/pysss_la-selinux.o src/tools/.libs/pysss_la-nscd.o src/python/.libs/pysss_la-pysss.o -Wl,--whole-archive ./.libs/libsss_util.a -Wl,--no-whole-archive -L/lib64 -lselinux -lsemanage -lutil -lm -lpython2.7 -ltevent -ltalloc -lpopt -lldb -ldbus-1 -lrt -lpcre -lini_config -lcollection -ldhash -llber -lldap -ltdb -lssl3 -lsmime3 -lnss3 -lnssutil3 -lplds4 -lplc4 -lnspr4 -lpthread -ldl -O2 -m64 -mtune=generic -Wl,-z -Wl,relro -Wl,-soname -Wl,pysss.so -o .libs/pysss.so libtool: link: ( cd ".libs" && rm -f "pysss.la" && ln -s "../pysss.la" "pysss.la" ) \ # source='src/python/pyhbac.c' object='src/python/pyhbac_la-pyhbac.lo' libtool=yes /bin/sh ./libtool --tag=CC --mode=compile gcc -DHAVE_CONFIG_H -I. -Wall -Iinclude -I.. -I./include -I./src/sss_client -I./src -Iinclude -I. -I/usr/include/dbus-1.0 -I/usr/lib64/dbus-1.0/include -DLIBDIR=\"/usr/lib64\" -DVARDIR=\"/var\" -DSHLIBEXT=\"\" -DSSSD_LIBEXEC_PATH=\"/usr/libexec/sssd\" -DSSSD_INTROSPECT_PATH=\"\" -DSSSD_CONF_DIR=\"/etc/sssd\" -DSSS_NSS_SOCKET_NAME=\"/var/lib/sss/pipes/nss\" -DSSS_PAM_SOCKET_NAME=\"/var/lib/sss/pipes/pam\" -DSSS_PAM_PRIV_SOCKET_NAME=\"/var/lib/sss/pipes/private/pam\" -DLOCALEDIR=\"/usr/share/locale\" -Wall -Wshadow -Wstrict-prototypes -Wpointer-arith -Wcast-qual -Wcast-align -Wwrite-strings -Werror-implicit-function-declaration -I/usr/include/python2.7 -I/usr/include/python2.7 -fno-strict-aliasing -fplugin=python2 -fplugin-arg-python2-script=/test.py -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -m64 -mtune=generic -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -c -o src/python/pyhbac_la-pyhbac.lo `test -f 'src/python/pyhbac.c' || echo './'`src/python/pyhbac.c libtool: compile: gcc -DHAVE_CONFIG_H -I. -Wall -Iinclude -I.. -I./include -I./src/sss_client -I./src -Iinclude -I. -I/usr/include/dbus-1.0 -I/usr/lib64/dbus-1.0/include -DLIBDIR=\"/usr/lib64\" -DVARDIR=\"/var\" -DSHLIBEXT=\"\" -DSSSD_LIBEXEC_PATH=\"/usr/libexec/sssd\" -DSSSD_INTROSPECT_PATH=\"\" -DSSSD_CONF_DIR=\"/etc/sssd\" -DSSS_NSS_SOCKET_NAME=\"/var/lib/sss/pipes/nss\" -DSSS_PAM_SOCKET_NAME=\"/var/lib/sss/pipes/pam\" -DSSS_PAM_PRIV_SOCKET_NAME=\"/var/lib/sss/pipes/private/pam\" -DLOCALEDIR=\"/usr/share/locale\" -Wall -Wshadow -Wstrict-prototypes -Wpointer-arith -Wcast-qual -Wcast-align -Wwrite-strings -Werror-implicit-function-declaration -I/usr/include/python2.7 -I/usr/include/python2.7 -fno-strict-aliasing -fplugin=python2 -fplugin-arg-python2-script=/test.py -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -m64 -mtune=generic -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -c src/python/pyhbac.c -fPIC -DPIC -o src/python/.libs/pyhbac_la-pyhbac.o src/python/pyhbac.c: In function 'initpyhbac': src/python/pyhbac.c:1901:1: note: this function is too complicated for the reference-count checker to fully analyze: not all paths were analyzed src/python/pyhbac.c: In function 'py_hbac_evaluate': src/python/pyhbac.c:1540:1: note: this function is too complicated for the reference-count checker to fully analyze: not all paths were analyzed src/python/pyhbac.c:1632:1: warning: returning (PyObject*)NULL without setting an exception [enabled by default] src/python/pyhbac.c:1551:26: note: when PyArg_ParseTuple() succeeds at: if (!PyArg_ParseTuple(args, sss_py_const_p(char, "O"), &py_rules_list)) { src/python/pyhbac.c:1551:8: note: taking False path at: if (!PyArg_ParseTuple(args, sss_py_const_p(char, "O"), &py_rules_list)) { src/python/pyhbac.c:1555:26: note: reaching: if (!PySequence_Check(py_rules_list)) { src/python/pyhbac.c:1555:8: note: when considering range: -0x80000000 <= value <= -1 at: if (!PySequence_Check(py_rules_list)) { src/python/pyhbac.c:1555:8: note: taking False path at: if (!PySequence_Check(py_rules_list)) { src/python/pyhbac.c:1561:32: note: reaching: num_rules = PySequence_Size(py_rules_list); src/python/pyhbac.c:1562:13: note: when considering range: -0x7fffffffffffffff <= value <= 0xfffffffffffffff at: rules = PyMem_New(struct hbac_rule *, num_rules+1); src/python/pyhbac.c:1562:13: note: taking True path at: rules = PyMem_New(struct hbac_rule *, num_rules+1); src/python/pyhbac.c:1562:13: note: reaching: rules = PyMem_New(struct hbac_rule *, num_rules+1); src/python/pyhbac.c:1562:13: note: when PyMem_Malloc() succeeds at: rules = PyMem_New(struct hbac_rule *, num_rules+1); src/python/pyhbac.c:1563:8: note: taking False path at: if (!rules) { src/python/pyhbac.c:1568:11: note: reaching: for (i=0; i < num_rules; i++) { src/python/pyhbac.c:1568:5: note: when considering range: -0x8000000000000000 <= value <= 0 at: for (i=0; i < num_rules; i++) { src/python/pyhbac.c:1568:5: note: taking False path at: for (i=0; i < num_rules; i++) { src/python/pyhbac.c:1588:10: note: reaching: rules[num_rules] = NULL; src/python/pyhbac.c:1588:22: note: when treating unknown struct hbac_rule * * from src/python/pyhbac.c:1588 as non-NULL at: rules[num_rules] = NULL; src/python/pyhbac.c:1591:8: note: when treating unknown struct hbac_eval_req * from src/python/pyhbac.c:1590 as non-NULL at: if (!hbac_req) { src/python/pyhbac.c:1591:8: note: taking False path at: if (!hbac_req) { src/python/pyhbac.c:1599:5: note: reaching: Py_XDECREF(self->rule_name); src/python/pyhbac.c:1599:5: note: when treating unknown struct PyObject * from src/python/pyhbac.c:1599 as non-NULL at: Py_XDECREF(self->rule_name); src/python/pyhbac.c:1599:5: note: taking False path at: Py_XDECREF(self->rule_name); src/python/pyhbac.c:1599:5: note: reaching: Py_XDECREF(self->rule_name); src/python/pyhbac.c:1599:5: note: when treating unknown struct PyObject * from src/python/pyhbac.c:1599 as non-NULL at: Py_XDECREF(self->rule_name); src/python/pyhbac.c:1599:5: note: when considering value == (Py_ssize_t)0 from src/python/pyhbac.c:1599 at: Py_XDECREF(self->rule_name); src/python/pyhbac.c:1599:5: note: taking False path at: Py_XDECREF(self->rule_name); src/python/pyhbac.c:1599:5: note: reaching: Py_XDECREF(self->rule_name); src/python/pyhbac.c:1599:5: note: when treating unknown struct PyObject * from src/python/pyhbac.c:1599 as non-NULL at: Py_XDECREF(self->rule_name); src/python/pyhbac.c:1599:5: note: when treating unknown struct _typeobject * from src/python/pyhbac.c:1599 as non-NULL at: Py_XDECREF(self->rule_name); src/python/pyhbac.c:1599:5: note: calling unknown void (*destructor) (struct PyObject *) from src/python/pyhbac.c:1599 at: Py_XDECREF(self->rule_name); src/python/pyhbac.c:1600:21: note: reaching: self->rule_name = NULL; src/python/pyhbac.c:1603:5: note: when following default at: switch (eres) { src/python/pyhbac.c:1632:1: note: returning src/python/pyhbac.c:1632:1: note: found 3 similar trace(s) to this src/python/pyhbac.c:1540:1: note: graphical error report for function 'py_hbac_evaluate' written out to 'src/python/.libs/pyhbac.c.py_hbac_evaluate-refcount-errors.html' src/python/pyhbac.c: In function 'HbacRule_to_native': src/python/pyhbac.c:1081:1: note: this function is too complicated for the reference-count checker to fully analyze: not all paths were analyzed src/python/pyhbac.c: In function 'HbacRequestElement_to_native': src/python/pyhbac.c:1366:1: note: this function is too complicated for the reference-count checker to fully analyze: not all paths were analyzed src/python/pyhbac.c: In function 'sequence_as_string_list': src/python/pyhbac.c:111:1: note: this function is too complicated for the reference-count checker to fully analyze: not all paths were analyzed src/python/pyhbac.c:154:1: warning: ob_refcnt of '*item' is 1 too high [enabled by default] src/python/pyhbac.c:154:1: note: was expecting final ob_refcnt to be N + 0 (for some unknown N) src/python/pyhbac.c:154:1: note: but final ob_refcnt is N + 1 src/python/pyhbac.c:135:14: note: new ref from PySequence_GetItem allocated at: item = PySequence_GetItem(seq, i); src/python/pyhbac.c:112:43: note: when taking True path at: const char *p = paramname ? paramname : "attribute values"; src/python/pyhbac.c:112:43: note: reaching: const char *p = paramname ? paramname : "attribute values"; src/python/pyhbac.c:119:8: note: when considering range: -0x80000000 <= value <= -1 at: if (!PySequence_Check(seq)) { src/python/pyhbac.c:119:8: note: taking False path at: if (!PySequence_Check(seq)) { src/python/pyhbac.c:125:9: note: reaching: len = PySequence_Size(seq); src/python/pyhbac.c:126:8: note: when considering range: 0 <= value <= 0x7fffffffffffffff at: if (len == -1) return NULL; src/python/pyhbac.c:126:8: note: taking False path at: if (len == -1) return NULL; src/python/pyhbac.c:128:11: note: reaching: ret = PyMem_New(const char *, (len+1)); src/python/pyhbac.c:128:11: note: when considering range: 1 <= value <= 0xfffffffffffffff at: ret = PyMem_New(const char *, (len+1)); src/python/pyhbac.c:128:11: note: taking True path at: ret = PyMem_New(const char *, (len+1)); src/python/pyhbac.c:128:11: note: reaching: ret = PyMem_New(const char *, (len+1)); src/python/pyhbac.c:128:11: note: when PyMem_Malloc() succeeds at: ret = PyMem_New(const char *, (len+1)); src/python/pyhbac.c:129:8: note: taking False path at: if (!ret) { src/python/pyhbac.c:134:12: note: reaching: for (i = 0; i < len; i++) { src/python/pyhbac.c:134:5: note: when considering range: 1 <= value <= 0x7fffffffffffffff at: for (i = 0; i < len; i++) { src/python/pyhbac.c:134:5: note: taking True path at: for (i = 0; i < len; i++) { src/python/pyhbac.c:135:34: note: reaching: item = PySequence_GetItem(seq, i); src/python/pyhbac.c:135:14: note: when PySequence_GetItem() succeeds at: item = PySequence_GetItem(seq, i); src/python/pyhbac.c:135:14: note: ob_refcnt is now refs: 1 + N where N >= 0 src/python/pyhbac.c:136:12: note: taking False path at: if (item == NULL) { src/python/pyhbac.c:140:18: note: reaching: utf_item = get_utf8_string(item, p); src/python/pyhbac.c:140:18: note: when get_utf8_string() succeeds at: utf_item = get_utf8_string(item, p); src/python/pyhbac.c:141:12: note: taking False path at: if (utf_item == NULL) { src/python/pyhbac.c:145:12: note: reaching: ret[i] = py_strdup(PyString_AsString(utf_item)); src/python/pyhbac.c:145:45: note: when PyString_AsString() succeeds at: ret[i] = py_strdup(PyString_AsString(utf_item)); src/python/pyhbac.c:146:9: note: when taking True path at: Py_DECREF(utf_item); src/python/pyhbac.c:147:17: note: reaching: if (!ret[i]) { src/python/pyhbac.c:147:12: note: when treating unknown char * from src/python/pyhbac.c:145 as non-NULL at: if (!ret[i]) { src/python/pyhbac.c:147:12: note: taking False path at: if (!ret[i]) { src/python/pyhbac.c:134:27: note: reaching: for (i = 0; i < len; i++) { src/python/pyhbac.c:134:5: note: when considering value == (Py_ssize_t)1 from src/python/pyhbac.c:125 at: for (i = 0; i < len; i++) { src/python/pyhbac.c:134:5: note: taking False path at: for (i = 0; i < len; i++) { src/python/pyhbac.c:152:8: note: reaching: ret[i] = NULL; src/python/pyhbac.c:154:1: note: returning src/python/pyhbac.c:154:1: note: found 8 similar trace(s) to this src/python/pyhbac.c:111:1: note: graphical error report for function 'sequence_as_string_list' written out to 'src/python/.libs/pyhbac.c.sequence_as_string_list-refcount-errors.html' src/python/pyhbac.c: In function 'set_hbac_exception': src/python/pyhbac.c:272:20: warning: Mismatching type in call to Py_BuildValue with format code "(i,s)" [enabled by default] argument 2 ("D.17352") had type "hbac_error_code" but was expecting "int" for format code "i" src/python/pyhbac.c:277:1: warning: ob_refcnt of new ref from call to Py_BuildValue is 1 too high [enabled by default] src/python/pyhbac.c:277:1: note: was expecting final ob_refcnt to be N + 0 (for some unknown N) src/python/pyhbac.c:277:1: note: but final ob_refcnt is N + 1 src/python/pyhbac.c:272:20: note: new ref from call to Py_BuildValue allocated at: PyErr_SetObject(exc, src/python/pyhbac.c:275:40: note: when treating unknown struct hbac_info * from src/python/pyhbac.c:270 as non-NULL at: error->rule_name ? \ src/python/pyhbac.c:272:20: note: when treating unknown char * from src/python/pyhbac.c:275 as non-NULL at: PyErr_SetObject(exc, src/python/pyhbac.c:272:20: note: taking True path at: PyErr_SetObject(exc, src/python/pyhbac.c:272:20: note: reaching: PyErr_SetObject(exc, src/python/pyhbac.c:272:20: note: when Py_BuildValue() succeeds at: PyErr_SetObject(exc, src/python/pyhbac.c:272:20: note: ob_refcnt is now refs: 1 + N where N >= 0 src/python/pyhbac.c:272:20: note: calling PyErr_SetObject() at: PyErr_SetObject(exc, src/python/pyhbac.c:272:20: note: ob_refcnt is now refs: 1 + N where N >= 1 src/python/pyhbac.c:277:1: note: returning at: } src/python/pyhbac.c:277:1: note: found 1 similar trace(s) to this src/python/pyhbac.c:271:1: note: graphical error report for function 'set_hbac_exception' written out to 'src/python/.libs/pyhbac.c.set_hbac_exception-refcount-errors.html' src/python/pyhbac.c: In function 'hbac_request_element_set_groups': src/python/pyhbac.c:1266:9: error: Unhandled Python exception raised calling 'execute' method Traceback (most recent call last): File "/usr/lib/gcc/x86_64-redhat-linux/4.6.2/plugin/python2/libcpychecker/__init__.py", line 75, in execute self._check_refcounts(fun) File "/usr/lib/gcc/x86_64-redhat-linux/4.6.2/plugin/python2/libcpychecker/__init__.py", line 79, in _check_refcounts self.show_possible_null_derefs) File "/usr/lib/gcc/x86_64-redhat-linux/4.6.2/plugin/python2/libcpychecker/refcounts.py", line 3487, in check_refcounts limits=limits) File "/usr/lib/gcc/x86_64-redhat-linux/4.6.2/plugin/python2/libcpychecker/absinterp.py", line 2929, in iter_traces depth + 1): File "/usr/lib/gcc/x86_64-redhat-linux/4.6.2/plugin/python2/libcpychecker/absinterp.py", line 2929, in iter_traces depth + 1): File "/usr/lib/gcc/x86_64-redhat-linux/4.6.2/plugin/python2/libcpychecker/absinterp.py", line 2929, in iter_traces depth + 1): File "/usr/lib/gcc/x86_64-redhat-linux/4.6.2/plugin/python2/libcpychecker/absinterp.py", line 2929, in iter_traces depth + 1): File "/usr/lib/gcc/x86_64-redhat-linux/4.6.2/plugin/python2/libcpychecker/absinterp.py", line 2893, in iter_traces transitions = curstate.get_transitions() File "/usr/lib/gcc/x86_64-redhat-linux/4.6.2/plugin/python2/libcpychecker/absinterp.py", line 2013, in get_transitions return self._get_transitions_for_stmt(stmt) File "/usr/lib/gcc/x86_64-redhat-linux/4.6.2/plugin/python2/libcpychecker/absinterp.py", line 2040, in _get_transitions_for_stmt return self._get_transitions_for_GimpleAssign(stmt) File "/usr/lib/gcc/x86_64-redhat-linux/4.6.2/plugin/python2/libcpychecker/absinterp.py", line 2504, in _get_transitions_for_GimpleAssign value = self.eval_rhs(stmt) File "/usr/lib/gcc/x86_64-redhat-linux/4.6.2/plugin/python2/libcpychecker/absinterp.py", line 2496, in eval_rhs % (stmt.exprcode, stmt.exprcode, stmt.loc)) NotImplementedError: Don't know how to cope with exprcode: () at src/python/pyhbac.c:1266 src/python/pyhbac.c: In function 'hbac_rule_element_set_category': src/python/pyhbac.c:448:9: error: Unhandled Python exception raised calling 'execute' method Traceback (most recent call last): File "/usr/lib/gcc/x86_64-redhat-linux/4.6.2/plugin/python2/libcpychecker/__init__.py", line 75, in execute self._check_refcounts(fun) File "/usr/lib/gcc/x86_64-redhat-linux/4.6.2/plugin/python2/libcpychecker/__init__.py", line 79, in _check_refcounts self.show_possible_null_derefs) File "/usr/lib/gcc/x86_64-redhat-linux/4.6.2/plugin/python2/libcpychecker/refcounts.py", line 3487, in check_refcounts limits=limits) File "/usr/lib/gcc/x86_64-redhat-linux/4.6.2/plugin/python2/libcpychecker/absinterp.py", line 2929, in iter_traces depth + 1): File "/usr/lib/gcc/x86_64-redhat-linux/4.6.2/plugin/python2/libcpychecker/absinterp.py", line 2929, in iter_traces depth + 1): File "/usr/lib/gcc/x86_64-redhat-linux/4.6.2/plugin/python2/libcpychecker/absinterp.py", line 2929, in iter_traces depth + 1): File "/usr/lib/gcc/x86_64-redhat-linux/4.6.2/plugin/python2/libcpychecker/absinterp.py", line 2929, in iter_traces depth + 1): File "/usr/lib/gcc/x86_64-redhat-linux/4.6.2/plugin/python2/libcpychecker/absinterp.py", line 2893, in iter_traces transitions = curstate.get_transitions() File "/usr/lib/gcc/x86_64-redhat-linux/4.6.2/plugin/python2/libcpychecker/absinterp.py", line 2013, in get_transitions return self._get_transitions_for_stmt(stmt) File "/usr/lib/gcc/x86_64-redhat-linux/4.6.2/plugin/python2/libcpychecker/absinterp.py", line 2040, in _get_transitions_for_stmt return self._get_transitions_for_GimpleAssign(stmt) File "/usr/lib/gcc/x86_64-redhat-linux/4.6.2/plugin/python2/libcpychecker/absinterp.py", line 2504, in _get_transitions_for_GimpleAssign value = self.eval_rhs(stmt) File "/usr/lib/gcc/x86_64-redhat-linux/4.6.2/plugin/python2/libcpychecker/absinterp.py", line 2496, in eval_rhs % (stmt.exprcode, stmt.exprcode, stmt.loc)) NotImplementedError: Don't know how to cope with exprcode: () at src/python/pyhbac.c:448 src/python/pyhbac.c: In function 'hbac_rule_element_set_groups': src/python/pyhbac.c:422:9: error: Unhandled Python exception raised calling 'execute' method Traceback (most recent call last): File "/usr/lib/gcc/x86_64-redhat-linux/4.6.2/plugin/python2/libcpychecker/__init__.py", line 75, in execute self._check_refcounts(fun) File "/usr/lib/gcc/x86_64-redhat-linux/4.6.2/plugin/python2/libcpychecker/__init__.py", line 79, in _check_refcounts self.show_possible_null_derefs) File "/usr/lib/gcc/x86_64-redhat-linux/4.6.2/plugin/python2/libcpychecker/refcounts.py", line 3487, in check_refcounts limits=limits) File "/usr/lib/gcc/x86_64-redhat-linux/4.6.2/plugin/python2/libcpychecker/absinterp.py", line 2929, in iter_traces depth + 1): File "/usr/lib/gcc/x86_64-redhat-linux/4.6.2/plugin/python2/libcpychecker/absinterp.py", line 2929, in iter_traces depth + 1): File "/usr/lib/gcc/x86_64-redhat-linux/4.6.2/plugin/python2/libcpychecker/absinterp.py", line 2929, in iter_traces depth + 1): File "/usr/lib/gcc/x86_64-redhat-linux/4.6.2/plugin/python2/libcpychecker/absinterp.py", line 2929, in iter_traces depth + 1): File "/usr/lib/gcc/x86_64-redhat-linux/4.6.2/plugin/python2/libcpychecker/absinterp.py", line 2893, in iter_traces transitions = curstate.get_transitions() File "/usr/lib/gcc/x86_64-redhat-linux/4.6.2/plugin/python2/libcpychecker/absinterp.py", line 2013, in get_transitions return self._get_transitions_for_stmt(stmt) File "/usr/lib/gcc/x86_64-redhat-linux/4.6.2/plugin/python2/libcpychecker/absinterp.py", line 2040, in _get_transitions_for_stmt return self._get_transitions_for_GimpleAssign(stmt) File "/usr/lib/gcc/x86_64-redhat-linux/4.6.2/plugin/python2/libcpychecker/absinterp.py", line 2504, in _get_transitions_for_GimpleAssign value = self.eval_rhs(stmt) File "/usr/lib/gcc/x86_64-redhat-linux/4.6.2/plugin/python2/libcpychecker/absinterp.py", line 2496, in eval_rhs % (stmt.exprcode, stmt.exprcode, stmt.loc)) NotImplementedError: Don't know how to cope with exprcode: () at src/python/pyhbac.c:422 src/python/pyhbac.c: In function 'hbac_rule_element_set_names': src/python/pyhbac.c:400:9: error: Unhandled Python exception raised calling 'execute' method Traceback (most recent call last): File "/usr/lib/gcc/x86_64-redhat-linux/4.6.2/plugin/python2/libcpychecker/__init__.py", line 75, in execute self._check_refcounts(fun) File "/usr/lib/gcc/x86_64-redhat-linux/4.6.2/plugin/python2/libcpychecker/__init__.py", line 79, in _check_refcounts self.show_possible_null_derefs) File "/usr/lib/gcc/x86_64-redhat-linux/4.6.2/plugin/python2/libcpychecker/refcounts.py", line 3487, in check_refcounts limits=limits) File "/usr/lib/gcc/x86_64-redhat-linux/4.6.2/plugin/python2/libcpychecker/absinterp.py", line 2929, in iter_traces depth + 1): File "/usr/lib/gcc/x86_64-redhat-linux/4.6.2/plugin/python2/libcpychecker/absinterp.py", line 2929, in iter_traces depth + 1): File "/usr/lib/gcc/x86_64-redhat-linux/4.6.2/plugin/python2/libcpychecker/absinterp.py", line 2929, in iter_traces depth + 1): File "/usr/lib/gcc/x86_64-redhat-linux/4.6.2/plugin/python2/libcpychecker/absinterp.py", line 2929, in iter_traces depth + 1): File "/usr/lib/gcc/x86_64-redhat-linux/4.6.2/plugin/python2/libcpychecker/absinterp.py", line 2893, in iter_traces transitions = curstate.get_transitions() File "/usr/lib/gcc/x86_64-redhat-linux/4.6.2/plugin/python2/libcpychecker/absinterp.py", line 2013, in get_transitions return self._get_transitions_for_stmt(stmt) File "/usr/lib/gcc/x86_64-redhat-linux/4.6.2/plugin/python2/libcpychecker/absinterp.py", line 2040, in _get_transitions_for_stmt return self._get_transitions_for_GimpleAssign(stmt) File "/usr/lib/gcc/x86_64-redhat-linux/4.6.2/plugin/python2/libcpychecker/absinterp.py", line 2504, in _get_transitions_for_GimpleAssign value = self.eval_rhs(stmt) File "/usr/lib/gcc/x86_64-redhat-linux/4.6.2/plugin/python2/libcpychecker/absinterp.py", line 2496, in eval_rhs % (stmt.exprcode, stmt.exprcode, stmt.loc)) NotImplementedError: Don't know how to cope with exprcode: () at src/python/pyhbac.c:400 src/python/pyhbac.c: In function 'py_hbac_rule_validate': src/python/pyhbac.c:911:1: note: this function is too complicated for the reference-count checker to fully analyze: not all paths were analyzed src/python/pyhbac.c:974:1: warning: returning (PyObject*)NULL without setting an exception [enabled by default] src/python/pyhbac.c:922:8: note: when treating unknown struct hbac_rule * from src/python/pyhbac.c:921 as non-NULL at: if (!rule) { src/python/pyhbac.c:922:8: note: taking False path at: if (!rule) { src/python/pyhbac.c:931:14: note: reaching: is_valid = hbac_rule_is_complete(rule, &missing); src/python/pyhbac.c:934:9: note: when PyTuple_New() succeeds at: ret = PyTuple_New(2); src/python/pyhbac.c:935:8: note: taking False path at: if (!ret) { src/python/pyhbac.c:940:34: note: reaching: py_is_valid = PyBool_FromLong(is_valid); src/python/pyhbac.c:940:17: note: PyBool_FromLong() returns at: py_is_valid = PyBool_FromLong(is_valid); src/python/pyhbac.c:941:16: note: when sss_python_set_new() succeeds at: py_missing = sss_python_set_new(); src/python/pyhbac.c:942:8: note: taking False path at: if (!py_missing || !py_is_valid) { src/python/pyhbac.c:947:15: note: reaching: for (attr = HBAC_RULE_ELEMENT_USERS; src/python/pyhbac.c:947:5: note: taking True path at: for (attr = HBAC_RULE_ELEMENT_USERS; src/python/pyhbac.c:950:23: note: reaching: if (!(missing & attr)) continue; src/python/pyhbac.c:950:12: note: when considering range: 1 <= value <= 0xffffffff at: if (!(missing & attr)) continue; src/python/pyhbac.c:950:12: note: taking False path at: if (!(missing & attr)) continue; src/python/pyhbac.c:952:33: note: reaching: py_attr = PyInt_FromLong(attr); src/python/pyhbac.c:952:17: note: when PyInt_FromLong() succeeds at: py_attr = PyInt_FromLong(attr); src/python/pyhbac.c:953:12: note: taking False path at: if (!py_attr) { src/python/pyhbac.c:958:31: note: reaching: if (sss_python_set_add(py_missing, py_attr) != 0) { src/python/pyhbac.c:958:12: note: when considering range: -0x80000000 <= value <= -1 at: if (sss_python_set_add(py_missing, py_attr) != 0) { src/python/pyhbac.c:958:12: note: taking True path at: if (sss_python_set_add(py_missing, py_attr) != 0) { src/python/pyhbac.c:960:13: note: reaching: Py_DECREF(py_attr); src/python/pyhbac.c:960:13: note: when taking True path at: Py_DECREF(py_attr); src/python/pyhbac.c:970:5: note: taking False path at: Py_XDECREF(ret); src/python/pyhbac.c:970:5: note: reaching: Py_XDECREF(ret); src/python/pyhbac.c:970:5: note: when taking True path at: Py_XDECREF(ret); src/python/pyhbac.c:971:5: note: reaching: Py_XDECREF(py_missing); src/python/pyhbac.c:971:5: note: taking False path at: Py_XDECREF(py_missing); src/python/pyhbac.c:971:5: note: reaching: Py_XDECREF(py_missing); src/python/pyhbac.c:971:5: note: when taking True path at: Py_XDECREF(py_missing); src/python/pyhbac.c:972:5: note: reaching: Py_XDECREF(py_is_valid); src/python/pyhbac.c:972:5: note: taking False path at: Py_XDECREF(py_is_valid); src/python/pyhbac.c:972:5: note: reaching: Py_XDECREF(py_is_valid); src/python/pyhbac.c:972:5: note: when taking True path at: Py_XDECREF(py_is_valid); src/python/pyhbac.c:973:5: note: reaching: return NULL; src/python/pyhbac.c:974:1: note: returning src/python/pyhbac.c:974:1: note: found 15 similar trace(s) to this src/python/pyhbac.c:911:1: note: graphical error report for function 'py_hbac_rule_validate' written out to 'src/python/.libs/pyhbac.c.py_hbac_rule_validate-refcount-errors.html' src/python/pyhbac.c: In function 'HbacRequest_new': src/python/pyhbac.c:1420:1: note: this function is too complicated for the reference-count checker to fully analyze: not all paths were analyzed src/python/pyhbac.c:1453:1: warning: ob_refcnt of new ref from (unknown) HbacRequestElement_new is 1 too low [enabled by default] src/python/pyhbac.c:1453:1: note: was expecting final ob_refcnt to be N + 1 (for some unknown N) src/python/pyhbac.c:1453:1: note: due to object being referenced by: new ref from call through function pointer.targethost src/python/pyhbac.c:1453:1: note: but final ob_refcnt is N + 0 src/python/pyhbac.c:1435:69: note: new ref from (unknown) HbacRequestElement_new allocated at: self->targethost = (HbacRequestElement *) HbacRequestElement_new( src/python/pyhbac.c:1423:10: note: when call succeeds at: self = (HbacRequest *) type->tp_alloc(type, 0); src/python/pyhbac.c:1424:8: note: taking False path at: if (self == NULL) { src/python/pyhbac.c:1429:66: note: reaching: self->service = (HbacRequestElement *) HbacRequestElement_new( src/python/pyhbac.c:1429:66: note: when HbacRequestElement_new() succeeds at: self->service = (HbacRequestElement *) HbacRequestElement_new( src/python/pyhbac.c:1432:63: note: when HbacRequestElement_new() succeeds at: self->user = (HbacRequestElement *) HbacRequestElement_new( src/python/pyhbac.c:1435:69: note: when HbacRequestElement_new() succeeds at: self->targethost = (HbacRequestElement *) HbacRequestElement_new( src/python/pyhbac.c:1435:69: note: ob_refcnt is now refs: 1 + N where N >= 0 src/python/pyhbac.c:1435:22: note: new ref from (unknown) HbacRequestElement_new is now referenced by 1 non-stack value(s): new ref from call through function pointer.targethost src/python/pyhbac.c:1438:66: note: when HbacRequestElement_new() fails at: self->srchost = (HbacRequestElement *) HbacRequestElement_new( src/python/pyhbac.c:1441:8: note: taking False path at: if (self->service == NULL || self->user == NULL || src/python/pyhbac.c:1441:38: note: reaching: if (self->service == NULL || self->user == NULL || src/python/pyhbac.c:1441:31: note: taking False path at: if (self->service == NULL || self->user == NULL || src/python/pyhbac.c:1442:13: note: reaching: self->targethost == NULL || self->srchost == NULL) { src/python/pyhbac.c:1441:53: note: taking False path at: if (self->service == NULL || self->user == NULL || src/python/pyhbac.c:1442:41: note: reaching: self->targethost == NULL || self->srchost == NULL) { src/python/pyhbac.c:1442:34: note: taking True path at: self->targethost == NULL || self->srchost == NULL) { src/python/pyhbac.c:1443:9: note: reaching: Py_XDECREF(self->service); src/python/pyhbac.c:1443:9: note: taking False path at: Py_XDECREF(self->service); src/python/pyhbac.c:1443:9: note: reaching: Py_XDECREF(self->service); src/python/pyhbac.c:1443:9: note: when taking False path at: Py_XDECREF(self->service); src/python/pyhbac.c:1443:9: note: reaching: Py_XDECREF(self->service); src/python/pyhbac.c:1443:9: note: calling tp_dealloc on new ref from (unknown) HbacRequestElement_new allocated at src/python/pyhbac.c:1429 at: Py_XDECREF(self->service); src/python/pyhbac.c:1444:9: note: reaching: Py_XDECREF(self->user); src/python/pyhbac.c:1444:9: note: taking False path at: Py_XDECREF(self->user); src/python/pyhbac.c:1444:9: note: reaching: Py_XDECREF(self->user); src/python/pyhbac.c:1444:9: note: when taking False path at: Py_XDECREF(self->user); src/python/pyhbac.c:1444:9: note: reaching: Py_XDECREF(self->user); src/python/pyhbac.c:1444:9: note: calling tp_dealloc on new ref from (unknown) HbacRequestElement_new allocated at src/python/pyhbac.c:1432 at: Py_XDECREF(self->user); src/python/pyhbac.c:1445:9: note: reaching: Py_XDECREF(self->targethost); src/python/pyhbac.c:1445:9: note: taking False path at: Py_XDECREF(self->targethost); src/python/pyhbac.c:1445:9: note: reaching: Py_XDECREF(self->targethost); src/python/pyhbac.c:1445:9: note: ob_refcnt is now refs: 0 + N where N >= 0 src/python/pyhbac.c:1445:9: note: when taking True path at: Py_XDECREF(self->targethost); src/python/pyhbac.c:1446:9: note: reaching: Py_XDECREF(self->srchost); src/python/pyhbac.c:1446:9: note: taking True path at: Py_XDECREF(self->srchost); src/python/pyhbac.c:1447:9: note: reaching: Py_DECREF(self); src/python/pyhbac.c:1447:9: note: when taking True path at: Py_DECREF(self); src/python/pyhbac.c:1448:23: note: reaching: PyErr_NoMemory(); src/python/pyhbac.c:1448:23: note: PyErr_NoMemory() returns NULL, raising MemoryError at: PyErr_NoMemory(); src/python/pyhbac.c:1453:1: note: returning src/python/pyhbac.c:1453:1: note: found 11 similar trace(s) to this src/python/pyhbac.c:1420:1: note: graphical error report for function 'HbacRequest_new' written out to 'src/python/.libs/pyhbac.c.HbacRequest_new-refcount-errors.html' src/python/pyhbac.c: In function 'HbacRequest_init': src/python/pyhbac.c:1485:1: note: this function is too complicated for the reference-count checker to fully analyze: not all paths were analyzed src/python/pyhbac.c: In function 'HbacRequest_clear': src/python/pyhbac.c:1457:1: note: this function is too complicated for the reference-count checker to fully analyze: not all paths were analyzed src/python/pyhbac.c: In function 'HbacRequest_traverse': src/python/pyhbac.c:1475:1: note: this function is too complicated for the reference-count checker to fully analyze: not all paths were analyzed src/python/pyhbac.c: In function 'HbacRequest_repr': src/python/pyhbac.c:1651:1: note: this function is too complicated for the reference-count checker to fully analyze: not all paths were analyzed src/python/pyhbac.c: In function 'HbacRequestElement_new': src/python/pyhbac.c:1161:1: warning: ob_refcnt of new ref from (unknown) sss_python_unicode_from_string is 1 too low [enabled by default] src/python/pyhbac.c:1161:1: note: was expecting final ob_refcnt to be N + 1 (for some unknown N) src/python/pyhbac.c:1161:1: note: due to object being referenced by: new ref from call through function pointer.name src/python/pyhbac.c:1161:1: note: but final ob_refcnt is N + 0 src/python/pyhbac.c:1145:48: note: new ref from (unknown) sss_python_unicode_from_string allocated at: self->name = sss_python_unicode_from_string(""); src/python/pyhbac.c:1139:10: note: when call succeeds at: self = (HbacRequestElement *) type->tp_alloc(type, 0); src/python/pyhbac.c:1140:8: note: taking False path at: if (self == NULL) { src/python/pyhbac.c:1145:48: note: reaching: self->name = sss_python_unicode_from_string(""); src/python/pyhbac.c:1145:48: note: when sss_python_unicode_from_string() succeeds at: self->name = sss_python_unicode_from_string(""); src/python/pyhbac.c:1145:48: note: ob_refcnt is now refs: 1 + N where N >= 0 src/python/pyhbac.c:1145:16: note: new ref from (unknown) sss_python_unicode_from_string is now referenced by 1 non-stack value(s): new ref from call through function pointer.name src/python/pyhbac.c:1146:8: note: taking False path at: if (self->name == NULL) { src/python/pyhbac.c:1152:30: note: reaching: self->groups = PyList_New(0); src/python/pyhbac.c:1152:30: note: when PyList_New() fails at: self->groups = PyList_New(0); src/python/pyhbac.c:1153:8: note: taking True path at: if (self->groups == NULL) { src/python/pyhbac.c:1154:9: note: reaching: Py_DECREF(self->name); src/python/pyhbac.c:1154:9: note: ob_refcnt is now refs: 0 + N where N >= 0 src/python/pyhbac.c:1154:9: note: when taking True path at: Py_DECREF(self->name); src/python/pyhbac.c:1155:9: note: reaching: Py_DECREF(self); src/python/pyhbac.c:1155:9: note: when taking True path at: Py_DECREF(self); src/python/pyhbac.c:1156:23: note: reaching: PyErr_NoMemory(); src/python/pyhbac.c:1156:23: note: PyErr_NoMemory() returns NULL, raising MemoryError at: PyErr_NoMemory(); src/python/pyhbac.c:1161:1: note: returning src/python/pyhbac.c:1136:1: note: graphical error report for function 'HbacRequestElement_new' written out to 'src/python/.libs/pyhbac.c.HbacRequestElement_new-refcount-errors.html' src/python/pyhbac.c: In function 'HbacRequestElement_repr': src/python/pyhbac.c:1310:1: warning: returning (PyObject*)NULL without setting an exception [enabled by default] src/python/pyhbac.c:1287:12: note: when sss_python_unicode_from_string() succeeds at: format = sss_python_unicode_from_string(""); src/python/pyhbac.c:1288:8: note: taking False path at: if (format == NULL) { src/python/pyhbac.c:1292:36: note: reaching: strgroups = str_concat_sequence(self->groups, discard_const_p(char, ",")); src/python/pyhbac.c:1293:8: note: when treating unknown char * from src/python/pyhbac.c:1292 as NULL at: if (strgroups == NULL) { src/python/pyhbac.c:1293:8: note: taking True path at: if (strgroups == NULL) { src/python/pyhbac.c:1294:9: note: reaching: Py_DECREF(format); src/python/pyhbac.c:1294:9: note: when taking True path at: Py_DECREF(format); src/python/pyhbac.c:1295:9: note: reaching: return NULL; src/python/pyhbac.c:1310:1: note: returning src/python/pyhbac.c:1310:1: note: found 1 similar trace(s) to this src/python/pyhbac.c:1283:1: note: graphical error report for function 'HbacRequestElement_repr' written out to 'src/python/.libs/pyhbac.c.HbacRequestElement_repr-refcount-errors.html' src/python/pyhbac.c: In function 'str_concat_sequence': src/python/pyhbac.c:266:1: warning: ob_refcnt of '*item' is 1 too high [enabled by default] src/python/pyhbac.c:266:1: note: was expecting final ob_refcnt to be N + 0 (for some unknown N) src/python/pyhbac.c:266:1: note: but final ob_refcnt is N + 1 src/python/pyhbac.c:241:14: note: new ref from PySequence_GetItem allocated at: item = PySequence_GetItem(seq, i); src/python/pyhbac.c:232:8: note: when considering range: 1 <= value <= 0x7fffffffffffffff at: if (size == 0) { src/python/pyhbac.c:232:8: note: taking False path at: if (size == 0) { src/python/pyhbac.c:240:11: note: reaching: for (i=0; i < size; i++) { src/python/pyhbac.c:240:5: note: taking True path at: for (i=0; i < size; i++) { src/python/pyhbac.c:241:14: note: reaching: item = PySequence_GetItem(seq, i); src/python/pyhbac.c:241:14: note: when PySequence_GetItem() succeeds at: item = PySequence_GetItem(seq, i); src/python/pyhbac.c:241:14: note: ob_refcnt is now refs: 1 + N where N >= 0 src/python/pyhbac.c:242:12: note: taking False path at: if (item == NULL) goto fail; src/python/pyhbac.c:244:14: note: reaching: part = PyString_AsString(item); src/python/pyhbac.c:244:14: note: when PyString_AsString() succeeds at: part = PyString_AsString(item); src/python/pyhbac.c:245:12: note: taking False path at: if (part == NULL) { src/python/pyhbac.c:250:12: note: reaching: if (s) { src/python/pyhbac.c:250:12: note: taking False path at: if (s) { src/python/pyhbac.c:256:15: note: reaching: s = py_strdup(part); src/python/pyhbac.c:257:16: note: when treating unknown char * from src/python/pyhbac.c:256 as NULL at: if (s == NULL) goto fail; src/python/pyhbac.c:257:16: note: taking True path at: if (s == NULL) goto fail; src/python/pyhbac.c:264:15: note: calling PyMem_Free on NULL at: PyMem_Free(s); src/python/pyhbac.c:266:1: note: returning src/python/pyhbac.c:223:1: note: graphical error report for function 'str_concat_sequence' written out to 'src/python/.libs/pyhbac.c.str_concat_sequence-refcount-errors.html' src/python/pyhbac.c: In function 'HbacRuleElement_new': src/python/pyhbac.c:309:1: warning: ob_refcnt of new ref from (unknown) sss_python_set_new is 1 too high [enabled by default] src/python/pyhbac.c:309:1: note: was expecting final ob_refcnt to be N + 0 (for some unknown N) src/python/pyhbac.c:309:1: note: but final ob_refcnt is N + 1 src/python/pyhbac.c:299:40: note: new ref from (unknown) sss_python_set_new allocated at: self->category = sss_python_set_new(); src/python/pyhbac.c:293:10: note: when call succeeds at: self = (HbacRuleElement *) type->tp_alloc(type, 0); src/python/pyhbac.c:294:8: note: taking False path at: if (self == NULL) { src/python/pyhbac.c:299:40: note: reaching: self->category = sss_python_set_new(); src/python/pyhbac.c:299:40: note: when sss_python_set_new() succeeds at: self->category = sss_python_set_new(); src/python/pyhbac.c:299:40: note: ob_refcnt is now refs: 1 + N where N >= 0 src/python/pyhbac.c:299:20: note: new ref from (unknown) sss_python_set_new is now referenced by 1 non-stack value(s): new ref from call through function pointer.category src/python/pyhbac.c:300:29: note: when PyList_New() succeeds at: self->names = PyList_New(0); src/python/pyhbac.c:301:30: note: when PyList_New() fails at: self->groups = PyList_New(0); src/python/pyhbac.c:302:8: note: taking False path at: if (!self->names || !self->groups || !self->category) { src/python/pyhbac.c:302:30: note: reaching: if (!self->names || !self->groups || !self->category) { src/python/pyhbac.c:302:22: note: taking True path at: if (!self->names || !self->groups || !self->category) { src/python/pyhbac.c:303:9: note: reaching: Py_DECREF(self); src/python/pyhbac.c:303:9: note: when taking False path at: Py_DECREF(self); src/python/pyhbac.c:303:9: note: reaching: Py_DECREF(self); src/python/pyhbac.c:303:9: note: calling tp_dealloc on new ref from call through function pointer allocated at src/python/pyhbac.c:293 at: Py_DECREF(self); src/python/pyhbac.c:304:23: note: reaching: PyErr_NoMemory(); src/python/pyhbac.c:303:9: note: new ref from (unknown) sss_python_set_new is now referenced by 0 non-stack value(s): src/python/pyhbac.c:304:23: note: PyErr_NoMemory() returns NULL, raising MemoryError at: PyErr_NoMemory(); src/python/pyhbac.c:309:1: note: returning src/python/pyhbac.c:309:1: note: found 2 similar trace(s) to this src/python/pyhbac.c:309:1: warning: ob_refcnt of PyListObject is 1 too high [enabled by default] src/python/pyhbac.c:309:1: note: was expecting final ob_refcnt to be N + 0 (for some unknown N) src/python/pyhbac.c:309:1: note: but final ob_refcnt is N + 1 src/python/pyhbac.c:300:29: note: PyListObject allocated at: self->names = PyList_New(0); src/python/pyhbac.c:293:10: note: when call succeeds at: self = (HbacRuleElement *) type->tp_alloc(type, 0); src/python/pyhbac.c:294:8: note: taking False path at: if (self == NULL) { src/python/pyhbac.c:299:40: note: reaching: self->category = sss_python_set_new(); src/python/pyhbac.c:299:40: note: when sss_python_set_new() succeeds at: self->category = sss_python_set_new(); src/python/pyhbac.c:300:29: note: when PyList_New() succeeds at: self->names = PyList_New(0); src/python/pyhbac.c:300:29: note: ob_refcnt is now refs: 1 + N where N >= 0 src/python/pyhbac.c:300:17: note: PyListObject is now referenced by 1 non-stack value(s): new ref from call through function pointer.names src/python/pyhbac.c:301:30: note: when PyList_New() fails at: self->groups = PyList_New(0); src/python/pyhbac.c:302:8: note: taking False path at: if (!self->names || !self->groups || !self->category) { src/python/pyhbac.c:302:30: note: reaching: if (!self->names || !self->groups || !self->category) { src/python/pyhbac.c:302:22: note: taking True path at: if (!self->names || !self->groups || !self->category) { src/python/pyhbac.c:303:9: note: reaching: Py_DECREF(self); src/python/pyhbac.c:303:9: note: when taking False path at: Py_DECREF(self); src/python/pyhbac.c:303:9: note: reaching: Py_DECREF(self); src/python/pyhbac.c:303:9: note: calling tp_dealloc on new ref from call through function pointer allocated at src/python/pyhbac.c:293 at: Py_DECREF(self); src/python/pyhbac.c:304:23: note: reaching: PyErr_NoMemory(); src/python/pyhbac.c:303:9: note: PyListObject is now referenced by 0 non-stack value(s): src/python/pyhbac.c:304:23: note: PyErr_NoMemory() returns NULL, raising MemoryError at: PyErr_NoMemory(); src/python/pyhbac.c:309:1: note: returning src/python/pyhbac.c:309:1: note: found 5 similar trace(s) to this src/python/pyhbac.c:290:1: note: graphical error report for function 'HbacRuleElement_new' written out to 'src/python/.libs/pyhbac.c.HbacRuleElement_new-refcount-errors.html' src/python/pyhbac.c: In function 'HbacRuleElement_clear': src/python/pyhbac.c:313:1: note: this function is too complicated for the reference-count checker to fully analyze: not all paths were analyzed src/python/pyhbac.c: In function 'HbacRuleElement_repr': src/python/pyhbac.c:522:1: warning: returning (PyObject*)NULL without setting an exception [enabled by default] src/python/pyhbac.c:489:12: note: when sss_python_unicode_from_string() succeeds at: format = sss_python_unicode_from_string(""); src/python/pyhbac.c:490:8: note: taking False path at: if (format == NULL) { src/python/pyhbac.c:494:35: note: reaching: strnames = str_concat_sequence(self->names, src/python/pyhbac.c:499:18: note: when treating unknown char * from src/python/pyhbac.c:494 as non-NULL at: if (strnames == NULL || strgroups == NULL || category == -1) { src/python/pyhbac.c:499:39: note: when treating unknown char * from src/python/pyhbac.c:496 as non-NULL at: if (strnames == NULL || strgroups == NULL || category == -1) { src/python/pyhbac.c:499:8: note: taking False path at: if (strnames == NULL || strgroups == NULL || category == -1) { src/python/pyhbac.c:499:47: note: reaching: if (strnames == NULL || strgroups == NULL || category == -1) { src/python/pyhbac.c:499:47: note: when considering value == (uint32_t)0xffffffff from src/python/pyhbac.c:498 at: if (strnames == NULL || strgroups == NULL || category == -1) { src/python/pyhbac.c:499:47: note: taking True path at: if (strnames == NULL || strgroups == NULL || category == -1) { src/python/pyhbac.c:500:19: note: reaching: PyMem_Free(strnames); src/python/pyhbac.c:500:19: note: calling PyMem_Free on Region('heap-region-190') at: PyMem_Free(strnames); src/python/pyhbac.c:501:19: note: calling PyMem_Free on Region('heap-region-191') at: PyMem_Free(strgroups); src/python/pyhbac.c:502:9: note: when taking True path at: Py_DECREF(format); src/python/pyhbac.c:503:9: note: reaching: return NULL; src/python/pyhbac.c:522:1: note: returning src/python/pyhbac.c:522:1: note: found 7 similar trace(s) to this src/python/pyhbac.c:483:1: note: graphical error report for function 'HbacRuleElement_repr' written out to 'src/python/.libs/pyhbac.c.HbacRuleElement_repr-refcount-errors.html' src/python/pyhbac.c: In function 'HbacRule_new': src/python/pyhbac.c:638:1: note: this function is too complicated for the reference-count checker to fully analyze: not all paths were analyzed src/python/pyhbac.c:681:1: warning: ob_refcnt of new ref from (unknown) sss_python_unicode_from_string is 1 too low [enabled by default] src/python/pyhbac.c:681:1: note: was expecting final ob_refcnt to be N + 1 (for some unknown N) src/python/pyhbac.c:681:1: note: due to object being referenced by: new ref from call through function pointer.name src/python/pyhbac.c:681:1: note: but final ob_refcnt is N + 0 src/python/pyhbac.c:647:48: note: new ref from (unknown) sss_python_unicode_from_string allocated at: self->name = sss_python_unicode_from_string(""); src/python/pyhbac.c:641:10: note: when call succeeds at: self = (HbacRuleObject *) type->tp_alloc(type, 0); src/python/pyhbac.c:642:8: note: taking False path at: if (self == NULL) { src/python/pyhbac.c:647:48: note: reaching: self->name = sss_python_unicode_from_string(""); src/python/pyhbac.c:647:48: note: when sss_python_unicode_from_string() succeeds at: self->name = sss_python_unicode_from_string(""); src/python/pyhbac.c:647:48: note: ob_refcnt is now refs: 1 + N where N >= 0 src/python/pyhbac.c:647:16: note: new ref from (unknown) sss_python_unicode_from_string is now referenced by 1 non-stack value(s): new ref from call through function pointer.name src/python/pyhbac.c:648:8: note: taking False path at: if (self->name == NULL) { src/python/pyhbac.c:654:19: note: reaching: self->enabled = false; src/python/pyhbac.c:656:61: note: when HbacRuleElement_new() succeeds at: self->services = (HbacRuleElement *) HbacRuleElement_new( src/python/pyhbac.c:659:58: note: when HbacRuleElement_new() succeeds at: self->users = (HbacRuleElement *) HbacRuleElement_new( src/python/pyhbac.c:662:64: note: when HbacRuleElement_new() succeeds at: self->targethosts = (HbacRuleElement *) HbacRuleElement_new( src/python/pyhbac.c:665:61: note: when HbacRuleElement_new() fails at: self->srchosts = (HbacRuleElement *) HbacRuleElement_new( src/python/pyhbac.c:668:8: note: taking False path at: if (self->services == NULL || self->users == NULL || src/python/pyhbac.c:668:39: note: reaching: if (self->services == NULL || self->users == NULL || src/python/pyhbac.c:668:32: note: taking False path at: if (self->services == NULL || self->users == NULL || src/python/pyhbac.c:669:13: note: reaching: self->targethosts == NULL || self->srchosts == NULL) { src/python/pyhbac.c:668:55: note: taking False path at: if (self->services == NULL || self->users == NULL || src/python/pyhbac.c:669:42: note: reaching: self->targethosts == NULL || self->srchosts == NULL) { src/python/pyhbac.c:669:35: note: taking True path at: self->targethosts == NULL || self->srchosts == NULL) { src/python/pyhbac.c:670:9: note: reaching: Py_XDECREF(self->services); src/python/pyhbac.c:670:9: note: taking False path at: Py_XDECREF(self->services); src/python/pyhbac.c:670:9: note: reaching: Py_XDECREF(self->services); src/python/pyhbac.c:670:9: note: when taking True path at: Py_XDECREF(self->services); src/python/pyhbac.c:671:9: note: reaching: Py_XDECREF(self->users); src/python/pyhbac.c:671:9: note: taking False path at: Py_XDECREF(self->users); src/python/pyhbac.c:671:9: note: reaching: Py_XDECREF(self->users); src/python/pyhbac.c:671:9: note: when taking False path at: Py_XDECREF(self->users); src/python/pyhbac.c:671:9: note: reaching: Py_XDECREF(self->users); src/python/pyhbac.c:671:9: note: calling tp_dealloc on new ref from (unknown) HbacRuleElement_new allocated at src/python/pyhbac.c:659 at: Py_XDECREF(self->users); src/python/pyhbac.c:672:9: note: reaching: Py_XDECREF(self->targethosts); src/python/pyhbac.c:672:9: note: taking False path at: Py_XDECREF(self->targethosts); src/python/pyhbac.c:672:9: note: reaching: Py_XDECREF(self->targethosts); src/python/pyhbac.c:672:9: note: when taking False path at: Py_XDECREF(self->targethosts); src/python/pyhbac.c:672:9: note: reaching: Py_XDECREF(self->targethosts); src/python/pyhbac.c:672:9: note: calling tp_dealloc on new ref from (unknown) HbacRuleElement_new allocated at src/python/pyhbac.c:662 at: Py_XDECREF(self->targethosts); src/python/pyhbac.c:673:9: note: reaching: Py_XDECREF(self->srchosts); src/python/pyhbac.c:673:9: note: taking True path at: Py_XDECREF(self->srchosts); src/python/pyhbac.c:674:9: note: reaching: Py_DECREF(self->name); src/python/pyhbac.c:674:9: note: ob_refcnt is now refs: 0 + N where N >= 0 src/python/pyhbac.c:674:9: note: when taking True path at: Py_DECREF(self->name); src/python/pyhbac.c:675:9: note: reaching: Py_DECREF(self); src/python/pyhbac.c:675:9: note: when taking True path at: Py_DECREF(self); src/python/pyhbac.c:676:23: note: reaching: PyErr_NoMemory(); src/python/pyhbac.c:676:23: note: PyErr_NoMemory() returns NULL, raising MemoryError at: PyErr_NoMemory(); src/python/pyhbac.c:681:1: note: returning src/python/pyhbac.c:681:1: note: found 3 similar trace(s) to this src/python/pyhbac.c:681:1: warning: ob_refcnt of new ref from (unknown) HbacRuleElement_new is 1 too low [enabled by default] src/python/pyhbac.c:681:1: note: was expecting final ob_refcnt to be N + 1 (for some unknown N) src/python/pyhbac.c:681:1: note: due to object being referenced by: new ref from call through function pointer.services src/python/pyhbac.c:681:1: note: but final ob_refcnt is N + 0 src/python/pyhbac.c:656:61: note: new ref from (unknown) HbacRuleElement_new allocated at: self->services = (HbacRuleElement *) HbacRuleElement_new( src/python/pyhbac.c:641:10: note: when call succeeds at: self = (HbacRuleObject *) type->tp_alloc(type, 0); src/python/pyhbac.c:642:8: note: taking False path at: if (self == NULL) { src/python/pyhbac.c:647:48: note: reaching: self->name = sss_python_unicode_from_string(""); src/python/pyhbac.c:647:48: note: when sss_python_unicode_from_string() succeeds at: self->name = sss_python_unicode_from_string(""); src/python/pyhbac.c:648:8: note: taking False path at: if (self->name == NULL) { src/python/pyhbac.c:654:19: note: reaching: self->enabled = false; src/python/pyhbac.c:656:61: note: when HbacRuleElement_new() succeeds at: self->services = (HbacRuleElement *) HbacRuleElement_new( src/python/pyhbac.c:656:61: note: ob_refcnt is now refs: 1 + N where N >= 0 src/python/pyhbac.c:656:20: note: new ref from (unknown) HbacRuleElement_new is now referenced by 1 non-stack value(s): new ref from call through function pointer.services src/python/pyhbac.c:659:58: note: when HbacRuleElement_new() succeeds at: self->users = (HbacRuleElement *) HbacRuleElement_new( src/python/pyhbac.c:662:64: note: when HbacRuleElement_new() succeeds at: self->targethosts = (HbacRuleElement *) HbacRuleElement_new( src/python/pyhbac.c:665:61: note: when HbacRuleElement_new() fails at: self->srchosts = (HbacRuleElement *) HbacRuleElement_new( src/python/pyhbac.c:668:8: note: taking False path at: if (self->services == NULL || self->users == NULL || src/python/pyhbac.c:668:39: note: reaching: if (self->services == NULL || self->users == NULL || src/python/pyhbac.c:668:32: note: taking False path at: if (self->services == NULL || self->users == NULL || src/python/pyhbac.c:669:13: note: reaching: self->targethosts == NULL || self->srchosts == NULL) { src/python/pyhbac.c:668:55: note: taking False path at: if (self->services == NULL || self->users == NULL || src/python/pyhbac.c:669:42: note: reaching: self->targethosts == NULL || self->srchosts == NULL) { src/python/pyhbac.c:669:35: note: taking True path at: self->targethosts == NULL || self->srchosts == NULL) { src/python/pyhbac.c:670:9: note: reaching: Py_XDECREF(self->services); src/python/pyhbac.c:670:9: note: taking False path at: Py_XDECREF(self->services); src/python/pyhbac.c:670:9: note: reaching: Py_XDECREF(self->services); src/python/pyhbac.c:670:9: note: ob_refcnt is now refs: 0 + N where N >= 0 src/python/pyhbac.c:670:9: note: when taking True path at: Py_XDECREF(self->services); src/python/pyhbac.c:671:9: note: reaching: Py_XDECREF(self->users); src/python/pyhbac.c:671:9: note: taking False path at: Py_XDECREF(self->users); src/python/pyhbac.c:671:9: note: reaching: Py_XDECREF(self->users); src/python/pyhbac.c:671:9: note: when taking False path at: Py_XDECREF(self->users); src/python/pyhbac.c:671:9: note: reaching: Py_XDECREF(self->users); src/python/pyhbac.c:671:9: note: calling tp_dealloc on new ref from (unknown) HbacRuleElement_new allocated at src/python/pyhbac.c:659 at: Py_XDECREF(self->users); src/python/pyhbac.c:672:9: note: reaching: Py_XDECREF(self->targethosts); src/python/pyhbac.c:672:9: note: taking False path at: Py_XDECREF(self->targethosts); src/python/pyhbac.c:672:9: note: reaching: Py_XDECREF(self->targethosts); src/python/pyhbac.c:672:9: note: when taking False path at: Py_XDECREF(self->targethosts); src/python/pyhbac.c:672:9: note: reaching: Py_XDECREF(self->targethosts); src/python/pyhbac.c:672:9: note: calling tp_dealloc on new ref from (unknown) HbacRuleElement_new allocated at src/python/pyhbac.c:662 at: Py_XDECREF(self->targethosts); src/python/pyhbac.c:673:9: note: reaching: Py_XDECREF(self->srchosts); src/python/pyhbac.c:673:9: note: taking True path at: Py_XDECREF(self->srchosts); src/python/pyhbac.c:674:9: note: reaching: Py_DECREF(self->name); src/python/pyhbac.c:674:9: note: when taking True path at: Py_DECREF(self->name); src/python/pyhbac.c:675:9: note: reaching: Py_DECREF(self); src/python/pyhbac.c:675:9: note: when taking True path at: Py_DECREF(self); src/python/pyhbac.c:676:23: note: reaching: PyErr_NoMemory(); src/python/pyhbac.c:676:23: note: PyErr_NoMemory() returns NULL, raising MemoryError at: PyErr_NoMemory(); src/python/pyhbac.c:681:1: note: returning src/python/pyhbac.c:681:1: note: found 14 similar trace(s) to this src/python/pyhbac.c:638:1: note: graphical error report for function 'HbacRule_new' written out to 'src/python/.libs/pyhbac.c.HbacRule_new-refcount-errors.html' src/python/pyhbac.c: In function 'HbacRule_init': src/python/pyhbac.c:719:1: note: this function is too complicated for the reference-count checker to fully analyze: not all paths were analyzed src/python/pyhbac.c: In function 'HbacRule_clear': src/python/pyhbac.c:685:1: note: this function is too complicated for the reference-count checker to fully analyze: not all paths were analyzed src/python/pyhbac.c: In function 'HbacRule_traverse': src/python/pyhbac.c:703:1: note: this function is too complicated for the reference-count checker to fully analyze: not all paths were analyzed src/python/pyhbac.c: In function 'HbacRule_repr': src/python/pyhbac.c:858:1: note: this function is too complicated for the reference-count checker to fully analyze: not all paths were analyzed src/python/pyhbac.c: In function 'py_hbac_error_string': src/python/pyhbac.c:1861:26: warning: Mismatching type in call to PyArg_ParseTuple with format code "i" [enabled by default] argument 3 ("&code") had type "hbac_error_code *" but was expecting "int *" (pointing to 32 bits) for format code "i" src/python/pyhbac.c: In function 'py_hbac_result_string': src/python/pyhbac.c:1837:26: warning: Mismatching type in call to PyArg_ParseTuple with format code "i" [enabled by default] argument 3 ("&result") had type "hbac_eval_result *" but was expecting "int *" (pointing to 32 bits) for format code "i" make[2]: *** [src/python/pyhbac_la-pyhbac.lo] Error 1 make[2]: Leaving directory `/builddir/build/BUILD/sssd-1.6.2' make[1]: *** [all-recursive] Error 1 make[1]: Leaving directory `/builddir/build/BUILD/sssd-1.6.2' make: *** [all] Error 2