X-Git-Url: http://git.hcoop.net/hcoop/debian/libnss-afs.git/blobdiff_plain/908a6ebee13783def6d4af79efb7ac61dc3075b2..abfd757bc51a9d7befdf1a0da59ba568af87b071:/nss_afs.c diff --git a/nss_afs.c b/nss_afs.c index 3ef57b9..2d6eaf4 100644 --- a/nss_afs.c +++ b/nss_afs.c @@ -78,6 +78,7 @@ #define MAX_OLDPAG_GID 0xff00 #define MAXCELLNAMELEN 256 +#define MAXUSERNAMELEN 256 static pthread_mutex_t mutex = PTHREAD_MUTEX_INITIALIZER; @@ -156,6 +157,7 @@ enum nss_status ptsname2id(char *name, uid_t* uid) { int res; idlist lid; namelist lnames; + char uname[MAXUSERNAMELEN]; init_afs(); @@ -168,7 +170,9 @@ enum nss_status ptsname2id(char *name, uid_t* uid) { lid.idlist_val = 0; lid.idlist_len = 0; - lnames.namelist_val = (prname*)name; + lnames.namelist_val = (prname*)uname; + // apparently ubik expects to be able to modify this? + strncpy(uname, name, MAXUSERNAMELEN); lnames.namelist_len = 1; if (ubik_Call(PR_NameToID,pruclient,0,&lnames,&lid) != PRSUCCESS) {