Fix possible buffer overflow: buflen (a size_t*) was being used
[hcoop/debian/libnss-afs.git] / nss_afs.c
index 29d4511..126b5c5 100644 (file)
--- a/nss_afs.c
+++ b/nss_afs.c
@@ -56,7 +56,6 @@
 #include <sys/time.h>
 #include <sys/types.h>
 #include <unistd.h>
-#include <afs/afs.h>
 #include <afs/afsutil.h>
 #include <afs/cellconfig.h>
 #include <afs/com_err.h>
@@ -139,7 +138,7 @@ enum nss_status ptsid2name(int uid, char **buffer, int *buflen) {
   ret = NSS_STATUS_NOTFOUND;
   for (i=0;i<lnames.namelist_len;i++) {
     int delta = strlen(lnames.namelist_val[i]);
-    if ( (delta < buflen) && islower(*(lnames.namelist_val[i])) ) {
+    if ( (delta < *buflen) && islower(*(lnames.namelist_val[i])) ) {
       cpstr(lnames.namelist_val[i], buffer, buflen);
       ret = NSS_STATUS_SUCCESS;
     }