summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJeremy Allison <jra@samba.org>2007-11-20 17:54:01 -0800
committerJeremy Allison <jra@samba.org>2007-11-20 17:54:01 -0800
commit3c561043dcecf038f5e06d84173b320953fa6652 (patch)
tree56f6dc31a7983e59c66677cdadc97e523f7a7df5
parent66298d808034bb606478ff66aa156bda4e7e3f2a (diff)
downloadsamba-3c561043dcecf038f5e06d84173b320953fa6652.tar.gz
samba-3c561043dcecf038f5e06d84173b320953fa6652.tar.bz2
samba-3c561043dcecf038f5e06d84173b320953fa6652.zip
Ensure we have a talloc stackframe (found by Kukks).
Jeremy. (This used to be commit b409f1c3356a72216136411234b345666159c88b)
-rw-r--r--source3/client/smbmount.c2
-rw-r--r--source3/client/smbumount.c14
2 files changed, 10 insertions, 6 deletions
diff --git a/source3/client/smbmount.c b/source3/client/smbmount.c
index 5e69cf92a3..99dc99f040 100644
--- a/source3/client/smbmount.c
+++ b/source3/client/smbmount.c
@@ -864,6 +864,7 @@ static void parse_mount_smb(int argc, char **argv)
****************************************************************************/
int main(int argc,char *argv[])
{
+ TALLOC_CTX *frame = talloc_stackframe();
char *p;
DEBUGLEVEL = 1;
@@ -940,5 +941,6 @@ static void parse_mount_smb(int argc, char **argv)
strupper_m(my_netbios_name);
init_mount();
+ TALLOC_FREE(frame);
return 0;
}
diff --git a/source3/client/smbumount.c b/source3/client/smbumount.c
index 1664e4b555..e74c31299c 100644
--- a/source3/client/smbumount.c
+++ b/source3/client/smbumount.c
@@ -44,13 +44,13 @@ umount_ok(const char *mount_point)
umount filesystems they don't own */
int fid = open(mount_point, O_RDONLY|O_NOFOLLOW, 0);
__kernel_uid32_t mount_uid;
-
+
if (fid == -1) {
fprintf(stderr, "Could not open %s: %s\n",
mount_point, strerror(errno));
return -1;
}
-
+
if (ioctl(fid, SMB_IOC_GETMOUNTUID32, &mount_uid) != 0) {
__kernel_uid_t mount_uid16;
if (ioctl(fid, SMB_IOC_GETMOUNTUID, &mount_uid16) != 0) {
@@ -94,7 +94,7 @@ canonicalize (char *path)
if (path == NULL)
return NULL;
-
+
if (realpath (path, canonical))
return canonical;
@@ -104,7 +104,7 @@ canonicalize (char *path)
}
-int
+int
main(int argc, char *argv[])
{
int fd;
@@ -112,6 +112,7 @@ main(int argc, char *argv[])
struct mntent *mnt;
FILE* mtab;
FILE* new_mtab;
+ TALLOC_CTX *frame = talloc_stackframe();
if (argc != 2) {
usage();
@@ -146,7 +147,7 @@ main(int argc, char *argv[])
return 1;
}
close(fd);
-
+
if ((mtab = setmntent(MOUNTED, "r")) == NULL) {
fprintf(stderr, "Can't open " MOUNTED ": %s\n",
strerror(errno));
@@ -190,5 +191,6 @@ main(int argc, char *argv[])
return 1;
}
+ TALLOC_FREE(frame);
return 0;
-}
+}