In case of an error, PyList_Size can return a negative value. We should check that case, at the very least to avoid compiler warnings like:
Error: COMPILER_WARNING: [#def41] [warning: defect not occurring in libuser-0.60-9.el7] libuser-0.62/python/misc.c: scope_hint: In function 'libuser_admin_prompt' libuser-0.62/python/misc.c:160:12: warning: argument 1 range [9223372036854775808, 18446744073709551615] exceeds maximum object size 9223372036854775807 [-Walloc-size-larger-than=] # prompts = g_malloc0_n(count, sizeof(struct lu_prompt)); # ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/glib-2.0/glib/glist.h:32: included_from: Included from here. /usr/include/glib-2.0/glib/ghash.h:33: included_from: Included from here. /usr/include/glib-2.0/glib.h:50: included_from: Included from here. libuser-0.62/python/misc.c:25: included_from: Included from here. /usr/include/glib-2.0/glib/gmem.h:96:10: note: in a call to allocation function 'g_malloc0_n' declared here
Note that we might also need to check if the size is within PTRDIFF_MAX, but the error checking is a good idea nonetheless.
Metadata Update from @jhrozek: - Issue assigned to jhrozek
PR: https://pagure.io/libuser/pull-request/30
Metadata Update from @jhrozek: - Issue status updated to: Closed (was: Open)
Login to comment on this ticket.