Raymond Toy pushed to branch issue-408-get-user-name-and-homedir at cmucl / cmucl

Commits:

1 changed file:

Changes:

  • src/lisp/os-common.c
    ... ... @@ -737,7 +737,7 @@ os_lstat(const char* path, uint64_t *dev, uint64_t *ino, unsigned int *mode, uin
    737 737
      * if we needed to retry getpwuid with a larger buffer.  The remaining
    
    738 738
      * parameters are the same as for getpwuid.
    
    739 739
      */
    
    740
    -int
    
    740
    +static int
    
    741 741
     os_getpwuid(uid_t uid, struct passwd *pwd, char **buffer, size_t buflen, struct passwd **result)
    
    742 742
     {
    
    743 743
         int status;
    
    ... ... @@ -789,7 +789,7 @@ os_get_user_name(uid_t uid, int *status)
    789 789
     
    
    790 790
         buf = buffer;
    
    791 791
     
    
    792
    -    *status = os_getpwuid(uid, &pwd, &buf, 1024, &result);
    
    792
    +    *status = os_getpwuid(uid, &pwd, &buf, sizeof(buffer), &result);
    
    793 793
     
    
    794 794
         if (*status != 0 || result == NULL || result->pw_name == NULL) {
    
    795 795
     	name = NULL;
    
    ... ... @@ -992,7 +992,7 @@ get_homedir_from_uid(uid_t uid, int *status)
    992 992
         buf = buffer;
    
    993 993
         dir = NULL;
    
    994 994
     
    
    995
    -    *status = os_getpwuid(uid, &pwd, &buf, 1024, &result);
    
    995
    +    *status = os_getpwuid(uid, &pwd, &buf, sizeof(buffer), &result);
    
    996 996
     
    
    997 997
         if (*status == 0 && result != NULL && result->pw_dir != NULL) {
    
    998 998
     	dir = strdup(result->pw_dir);