diff --git a/src/basic/user-util.c b/src/basic/user-util.c index b8d1066929..4cf4c5a341 100644 --- a/src/basic/user-util.c +++ b/src/basic/user-util.c @@ -350,6 +350,9 @@ char* uid_to_name(uid_t uid) { if (r != ERANGE) break; + if (bufsize > LONG_MAX/2) /* overflow check */ + return NULL; + bufsize *= 2; } } @@ -391,6 +394,9 @@ char* gid_to_name(gid_t gid) { if (r != ERANGE) break; + if (bufsize > LONG_MAX/2) /* overflow check */ + return NULL; + bufsize *= 2; } }