diff --git a/libs/sofia-sip/libsofia-sip-ua/iptsec/auth_module.c b/libs/sofia-sip/libsofia-sip-ua/iptsec/auth_module.c index 0814c8c780..087810ebc7 100644 --- a/libs/sofia-sip/libsofia-sip-ua/iptsec/auth_module.c +++ b/libs/sofia-sip/libsofia-sip-ua/iptsec/auth_module.c @@ -961,6 +961,7 @@ int auth_readdb_internal(auth_mod_t *am, int always) FILE *f; char *data, *s; size_t len, i, n, N; + ssize_t slen; auth_passwd_t *apw; if (!am->am_stat) @@ -1002,7 +1003,7 @@ int auth_readdb_internal(auth_mod_t *am, int always) if (am->am_stat) stat(am->am_db, am->am_stat); /* too bad if this fails */ - len = readfile(am->am_home, f, &buffer, 1); + slen = readfile(am->am_home, f, &buffer, 1); #if HAVE_FLOCK /* Release shared lock on the database file */ @@ -1016,8 +1017,9 @@ int auth_readdb_internal(auth_mod_t *am, int always) fclose(f); - if (len < 0) + if (slen < 0) return -1; + len = (size_t)slen; /* Count number of entries in new buffer */ for (i = am->am_anonymous, s = data = buffer; @@ -1208,7 +1210,7 @@ ssize_t readfile(su_home_t *home, buffer[len] = '\0'; *contents = buffer; - return len; + return (ssize_t)len; } /* ====================================================================== */