]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
rgw ldap: safe_read_file can return < 0
authorMatt Benjamin <mbenjamin@redhat.com>
Fri, 4 Jan 2019 20:31:56 +0000 (15:31 -0500)
committerPrashant D <pdhange@redhat.com>
Fri, 25 Jan 2019 00:59:54 +0000 (19:59 -0500)
Avoid invalid string access when LDAP auth is enabled, but LDAP
secret is not set.  This is Casey's fix for the problem.

Fixes: https://tracker.ceph.com/issues/24228
Signed-off-by: Matt Benjamin <mbenjamin@redhat.com>
(cherry picked from commit 65cd8accc127c6765f083a389455ce73b7517e11)

src/rgw/rgw_ldap.cc

index a39afa6c081fd3dfd31a71528858211896990664..d16816411fef7feabb5ef7a3c4b7a48915ec6da7 100644 (file)
@@ -27,7 +27,7 @@ std::string parse_rgw_ldap_bindpw(CephContext* ctx)
       memset(bindpw, 0, 1024);
       int pwlen = safe_read_file("" /* base */, ldap_secret.c_str(),
                                 bindpw, 1023);
-    if (pwlen) {
+    if (pwlen > 0) {
       ldap_bindpw = bindpw;
       boost::algorithm::trim(ldap_bindpw);
       if (ldap_bindpw.back() == '\n')