Commit 3f4eabd1 authored by Paul Eggert's avatar Paul Eggert
Browse files

* editfns.c (Fuser_login_name, Fuser_full_name): Signal an error

if a uid argument is out of range, rather than relying on
undefined behavior.
parent 682432fc
......@@ -265,6 +265,9 @@
(lo_time): Use int, not EMACS_INT, when int suffices.
(lisp_time_argument): Check for usec out of range.
(Fencode_time): Don't assume fixnum fits in int.
(Fuser_login_name, Fuser_full_name): Signal an error
if a uid argument is out of range, rather than relying on
undefined behavior.
* emacs.c (gdb_valbits, gdb_gctypebits): Now int, not EMACS_INT.
(gdb_data_seg_bits): Now uintptr_t, not EMACS_INT.
(PVEC_FLAG, gdb_array_mark_flag): Now ptrdiff_t, not EMACS_INT.
......
......@@ -1247,7 +1247,7 @@ of the user with that uid, or nil if there is no such user. */)
if (NILP (uid))
return Vuser_login_name;
id = XFLOATINT (uid);
CONS_TO_INTEGER (uid, uid_t, id);
BLOCK_INPUT;
pw = getpwuid (id);
UNBLOCK_INPUT;
......@@ -1306,7 +1306,8 @@ name, or nil if there is no such user. */)
return Vuser_full_name;
else if (NUMBERP (uid))
{
uid_t u = XFLOATINT (uid);
uid_t u;
CONS_TO_INTEGER (uid, uid_t, u);
BLOCK_INPUT;
pw = getpwuid (u);
UNBLOCK_INPUT;
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment