X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;ds=sidebyside;f=nss_afs.c;fp=nss_afs.c;h=2d6eaf418a688b2fe9f9c1a48105cf120fc451b2;hb=abfd757bc51a9d7befdf1a0da59ba568af87b071;hp=3ef57b969fdcc22ada97bc1fc72c77012cf0b140;hpb=908a6ebee13783def6d4af79efb7ac61dc3075b2;p=libnss-afs.git 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) {