Apply patch: ncpfs-2.2.6-getuid-fix.patch
This commit is contained in:
@@ -485,6 +485,10 @@ static char* readnwinfosfile (char * user, const char * info, const char * forTr
|
||||
*err = EACCES;
|
||||
return NULL;
|
||||
}
|
||||
if (st.st_uid != getuid()) {
|
||||
*err = EACCES;
|
||||
return NULL;
|
||||
}
|
||||
if ((st.st_mode & (S_IRWXO | S_IRWXG)) != 0) {
|
||||
*err = NCPLIB_INVALID_MODE;
|
||||
return NULL;
|
||||
@@ -564,7 +568,7 @@ NWDSCCODE NWCXGetPreferredDSTree (NWDSChar * preferTree, size_t maxLen){
|
||||
if (!res)
|
||||
res=readnwinfosfile (NULL,NDS_PREFERRED_TREE,NULL, &err);
|
||||
if (!res)
|
||||
return -1;
|
||||
return err;
|
||||
if (strlen (res)+1 >maxLen)
|
||||
return NWE_BUFFER_OVERFLOW;
|
||||
strcpy(preferTree,res);
|
||||
@@ -585,7 +589,7 @@ NWDSCCODE NWCXGetDefaultNameContext (const NWDSChar* forTree,
|
||||
if (!res)
|
||||
res=readnwinfosfile (NULL,NDS_PREFERRED_NAME_CTX,forTree,&err);
|
||||
if (!res)
|
||||
return -1;
|
||||
return err;
|
||||
if (strlen (res)+1 >maxLen)
|
||||
return NWE_BUFFER_OVERFLOW;
|
||||
strcpy(nameContext,res);
|
||||
@@ -607,7 +611,7 @@ NWDSCCODE NWCXGetPreferredServer (const NWDSChar * forTree,
|
||||
|
||||
res=readnwinfosfile (NULL, NDS_PREFERRED_SERVER, forTree, &err);
|
||||
if (!res) {
|
||||
return -1;
|
||||
return err;
|
||||
}
|
||||
}
|
||||
/* test that this server DO belongs to tree forTree*/
|
||||
@@ -648,7 +652,7 @@ NWDSCCODE NWCXGetDefaultUserName (const NWDSChar * forTree,
|
||||
if (!res)
|
||||
res=readnwinfosfile (NULL,NDS_USER,forTree, &err);
|
||||
if (!res)
|
||||
return -1;
|
||||
return err;
|
||||
if (strlen (res)+1 >maxLen)
|
||||
return NWE_BUFFER_OVERFLOW;
|
||||
strcpy(defaultName,res);
|
||||
|
||||
Reference in New Issue
Block a user