From: Andrew Tridgell Date: Sat, 28 Apr 2001 12:43:15 +0000 (+0000) Subject: use asprintf for hideunreadable option X-Git-Tag: samba-2.2.5pre1~2087^2~144 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=338d5ca8addb3079e0ab4a68338596d6e3b17ddb;p=thirdparty%2Fsamba.git use asprintf for hideunreadable option --- diff --git a/source/smbd/dir.c b/source/smbd/dir.c index 1d497574a6d..fa9cbdc4a2a 100644 --- a/source/smbd/dir.c +++ b/source/smbd/dir.c @@ -727,21 +727,15 @@ void *OpenDir(connection_struct *conn, char *name, BOOL use_veto) if (use_veto && conn && IS_VETO_PATH(conn, n)) continue; /* Honour _hide unreadable_ option */ - if (conn && lp_hideunreadable(SNUM(conn))) - { - char *entry; - int ret; + if (conn && lp_hideunreadable(SNUM(conn))) { + char *entry; + int ret=0; - entry = (char *)malloc(PATH_MAX); - if (!entry) { - DEBUG(0,("Out of memory in OpenDir\n")); - conn->vfs_ops.closedir(conn,p); - return(NULL); - } - slprintf(entry, PATH_MAX, "%s/%s/%s", conn->origpath, name, n); - ret = user_can_read_file(conn, entry); - free(entry); - if (!ret) continue; + if (asprintf(&entry, "%s/%s/%s", conn->origpath, name, n) > 0) { + ret = user_can_read_file(conn, entry); + free(entry); + } + if (!ret) continue; } if (used + l > dirp->mallocsize) {