fix regression in getspnam[_r] error code for insufficient buffer size
authorRich Felker <dalias@aerifal.cx>
Wed, 21 Jun 2017 23:06:45 +0000 (19:06 -0400)
committerRich Felker <dalias@aerifal.cx>
Wed, 21 Jun 2017 23:06:45 +0000 (19:06 -0400)
commit 2d7d05f031e014068a61d3076c6178513395d2ae wrongly changed ERANGE
to EINVAL, likely as the result of copy-and-paste error.

src/passwd/getspnam_r.c

index e488b67..541206f 100644 (file)
@@ -76,7 +76,7 @@ int getspnam_r(const char *name, struct spwd *sp, char *buf, size_t size, struct
 
        /* Buffer size must at least be able to hold name, plus some.. */
        if (size < l+100)
-               return errno = EINVAL;
+               return errno = ERANGE;
 
        /* Protect against truncation */
        if (snprintf(path, sizeof path, "/etc/tcb/%s/shadow", name) >= sizeof path)