summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorLukas Slebodnik <lslebodn@redhat.com>2014-05-27 13:55:26 +0200
committerJakub Hrozek <jhrozek@redhat.com>2014-05-27 21:16:13 +0200
commit71bcdde36bcfd8cb797777062208a85bf6337dec (patch)
tree7a27afa23708dc724f19995e99d70abcabf7a1d3 /src
parent4b0c83e022c396e984d862ced5b6219e4ef04429 (diff)
downloadsssd-71bcdde36bcfd8cb797777062208a85bf6337dec.tar.gz
sssd-71bcdde36bcfd8cb797777062208a85bf6337dec.tar.xz
sssd-71bcdde36bcfd8cb797777062208a85bf6337dec.zip
sss_autofs: Check return value of autofs make request
The return value of function sss_autofs_make_request was not checked. (returned value was SSS_STATUS_UNAVAIL) Unfotunatelly, errnop was zero; buffer "repbuf" was not initialised and automount crashed in sss_autofs plugin. Resolves: https://fedorahosted.org/sssd/ticket/2288 Reviewed-by: Jakub Hrozek <jhrozek@redhat.com>
Diffstat (limited to 'src')
-rw-r--r--src/sss_client/autofs/sss_autofs.c24
1 files changed, 12 insertions, 12 deletions
diff --git a/src/sss_client/autofs/sss_autofs.c b/src/sss_client/autofs/sss_autofs.c
index 49e130282..787b9f2b5 100644
--- a/src/sss_client/autofs/sss_autofs.c
+++ b/src/sss_client/autofs/sss_autofs.c
@@ -89,9 +89,9 @@ _sss_setautomntent(const char *mapname, void **context)
rd.data = name;
rd.len = name_len + 1;
- sss_autofs_make_request(SSS_AUTOFS_SETAUTOMNTENT, &rd,
- &repbuf, &replen, &errnop);
- if (errnop != 0) {
+ ret = sss_autofs_make_request(SSS_AUTOFS_SETAUTOMNTENT, &rd,
+ &repbuf, &replen, &errnop);
+ if (ret != SSS_STATUS_SUCCESS) {
free(name);
ret = errnop;
goto out;
@@ -306,10 +306,10 @@ _sss_getautomntent_r(char **key, char **value, void *context)
rd.data = data;
rd.len = data_len;
- sss_autofs_make_request(SSS_AUTOFS_GETAUTOMNTENT, &rd,
- &repbuf, &replen, &errnop);
+ ret = sss_autofs_make_request(SSS_AUTOFS_GETAUTOMNTENT, &rd,
+ &repbuf, &replen, &errnop);
free(data);
- if (errnop != 0) {
+ if (ret != SSS_STATUS_SUCCESS) {
ret = errnop;
goto out;
}
@@ -404,10 +404,10 @@ _sss_getautomntbyname_r(const char *key, char **value, void *context)
rd.data = data;
rd.len = data_len;
- sss_autofs_make_request(SSS_AUTOFS_GETAUTOMNTBYNAME, &rd,
- &repbuf, &replen, &errnop);
+ ret = sss_autofs_make_request(SSS_AUTOFS_GETAUTOMNTBYNAME, &rd,
+ &repbuf, &replen, &errnop);
free(data);
- if (errnop != 0) {
+ if (ret != SSS_STATUS_SUCCESS) {
ret = errnop;
goto out;
}
@@ -462,9 +462,9 @@ _sss_endautomntent(void **context)
free(fctx->mapname);
free(fctx);
- sss_autofs_make_request(SSS_AUTOFS_ENDAUTOMNTENT,
- NULL, NULL, NULL, &errnop);
- if (errnop != 0) {
+ ret = sss_autofs_make_request(SSS_AUTOFS_ENDAUTOMNTENT,
+ NULL, NULL, NULL, &errnop);
+ if (ret != SSS_STATUS_SUCCESS) {
ret = errnop;
goto out;
}