git.samba.org
/
amitay
/
samba.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
| inline |
side by side
s3: VFS: Protect errno if sys_getwd() fails across free() call.
[amitay/samba.git]
/
source3
/
lib
/
system.c
diff --git
a/source3/lib/system.c
b/source3/lib/system.c
index 5baa8f7d3ff0e841389d0e430508350e94902045..507d4a9af93a824c8e9c2ae96088dc7afd021560 100644
(file)
--- a/
source3/lib/system.c
+++ b/
source3/lib/system.c
@@
-594,7
+594,9
@@
char *sys_getwd(void)
break;
}
if (errno != ERANGE) {
+ int saved_errno = errno;
SAFE_FREE(s);
+ errno = saved_errno;
break;
}
allocated *= 2;
@@
-612,7
+614,9
@@
char *sys_getwd(void)
}
wd = getwd(s);
if (wd == NULL) {
+ int saved_errno = errno;
SAFE_FREE(s);
+ errno = saved_errno;
}
return wd;
#endif