diff options
author | kpfleming <kpfleming@f38db490-d61c-443f-a65b-d21fe96a405b> | 2008-11-02 23:56:13 +0000 |
---|---|---|
committer | kpfleming <kpfleming@f38db490-d61c-443f-a65b-d21fe96a405b> | 2008-11-02 23:56:13 +0000 |
commit | ee246d0e0519c6aa7cb0aea17ea92c9a5c2dc16f (patch) | |
tree | 80dccc06626175232f48f4c2cde5b9f5ba602632 /res/res_crypto.c | |
parent | 11aedae560fa003f20ee8d7a02b7aa2fc17ae13a (diff) |
import gcc 4.3.2 warning fixes from trunk, with a few changes specific to this branch
git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.6.1@153710 f38db490-d61c-443f-a65b-d21fe96a405b
Diffstat (limited to 'res/res_crypto.c')
-rw-r--r-- | res/res_crypto.c | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/res/res_crypto.c b/res/res_crypto.c index f1a2234fd..e55abe891 100644 --- a/res/res_crypto.c +++ b/res/res_crypto.c @@ -106,7 +106,11 @@ static int pw_cb(char *buf, int size, int rwflag, void *userdata) snprintf(prompt, sizeof(prompt), ">>>> passcode for %s key '%s': ", key->ktype == AST_KEY_PRIVATE ? "PRIVATE" : "PUBLIC", key->name); - write(key->outfd, prompt, strlen(prompt)); + if (write(key->outfd, prompt, strlen(prompt)) < 0) { + ast_log(LOG_WARNING, "write() failed: %s\n", strerror(errno)); + key->infd = -2; + return -1; + } memset(buf, 0, sizeof(buf)); tmp = ast_hide_password(key->infd); memset(buf, 0, size); @@ -177,7 +181,9 @@ static struct ast_key *try_load_key(const char *dir, const char *fname, int ifd, while(!feof(f)) { /* Calculate a "whatever" quality md5sum of the key */ char buf[256] = ""; - fgets(buf, sizeof(buf), f); + if (!fgets(buf, sizeof(buf), f)) { + continue; + } if (!feof(f)) MD5Update(&md5, (unsigned char *) buf, strlen(buf)); } |