diff options
author | Jeremy Allison <jra@samba.org> | 2007-11-20 17:54:01 -0800 |
---|---|---|
committer | Jeremy Allison <jra@samba.org> | 2007-11-20 17:54:01 -0800 |
commit | 3c561043dcecf038f5e06d84173b320953fa6652 (patch) | |
tree | 56f6dc31a7983e59c66677cdadc97e523f7a7df5 | |
parent | 66298d808034bb606478ff66aa156bda4e7e3f2a (diff) | |
download | samba-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.c | 2 | ||||
-rw-r--r-- | source3/client/smbumount.c | 14 |
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; -} +} |