diff options
author | beck <> | 2014-04-17 20:03:03 +0000 |
---|---|---|
committer | beck <> | 2014-04-17 20:03:03 +0000 |
commit | e4ad3db9d37454b5bdd0cf5825f5225e0fd77914 (patch) | |
tree | 5a918e269d0e0c004cc01facbdae84a947373bb6 /src/lib | |
parent | a7d459976bae37484f615794c37c7ac9cbc2c20f (diff) | |
download | openbsd-e4ad3db9d37454b5bdd0cf5825f5225e0fd77914.tar.gz openbsd-e4ad3db9d37454b5bdd0cf5825f5225e0fd77914.tar.bz2 openbsd-e4ad3db9d37454b5bdd0cf5825f5225e0fd77914.zip |
fix BIO_snprintf usage in here.
ok tedu@
Diffstat (limited to 'src/lib')
-rw-r--r-- | src/lib/libcrypto/engine/eng_ctrl.c | 27 | ||||
-rw-r--r-- | src/lib/libssl/src/crypto/engine/eng_ctrl.c | 27 |
2 files changed, 38 insertions, 16 deletions
diff --git a/src/lib/libcrypto/engine/eng_ctrl.c b/src/lib/libcrypto/engine/eng_ctrl.c index 5ce25d92ec..d5017e2329 100644 --- a/src/lib/libcrypto/engine/eng_ctrl.c +++ b/src/lib/libcrypto/engine/eng_ctrl.c | |||
@@ -104,6 +104,7 @@ static int int_ctrl_helper(ENGINE *e, int cmd, long i, void *p, | |||
104 | void (*f)(void)) | 104 | void (*f)(void)) |
105 | { | 105 | { |
106 | int idx; | 106 | int idx; |
107 | int ret; | ||
107 | char *s = (char *)p; | 108 | char *s = (char *)p; |
108 | /* Take care of the easy one first (eg. it requires no searches) */ | 109 | /* Take care of the easy one first (eg. it requires no searches) */ |
109 | if(cmd == ENGINE_CTRL_GET_FIRST_CMD_TYPE) | 110 | if(cmd == ENGINE_CTRL_GET_FIRST_CMD_TYPE) |
@@ -158,19 +159,29 @@ static int int_ctrl_helper(ENGINE *e, int cmd, long i, void *p, | |||
158 | case ENGINE_CTRL_GET_NAME_LEN_FROM_CMD: | 159 | case ENGINE_CTRL_GET_NAME_LEN_FROM_CMD: |
159 | return strlen(e->cmd_defns[idx].cmd_name); | 160 | return strlen(e->cmd_defns[idx].cmd_name); |
160 | case ENGINE_CTRL_GET_NAME_FROM_CMD: | 161 | case ENGINE_CTRL_GET_NAME_FROM_CMD: |
161 | return BIO_snprintf(s,strlen(e->cmd_defns[idx].cmd_name) + 1, | 162 | ret = snprintf(s,strlen(e->cmd_defns[idx].cmd_name) + 1, |
162 | "%s", e->cmd_defns[idx].cmd_name); | 163 | "%s", e->cmd_defns[idx].cmd_name); |
164 | if (ret >= (strlen(e->cmd_defns[idx].cmd_name) + 1)) | ||
165 | ret = -1; | ||
166 | return ret; | ||
163 | case ENGINE_CTRL_GET_DESC_LEN_FROM_CMD: | 167 | case ENGINE_CTRL_GET_DESC_LEN_FROM_CMD: |
164 | if(e->cmd_defns[idx].cmd_desc) | 168 | if(e->cmd_defns[idx].cmd_desc) |
165 | return strlen(e->cmd_defns[idx].cmd_desc); | 169 | return strlen(e->cmd_defns[idx].cmd_desc); |
166 | return strlen(int_no_description); | 170 | return strlen(int_no_description); |
167 | case ENGINE_CTRL_GET_DESC_FROM_CMD: | 171 | case ENGINE_CTRL_GET_DESC_FROM_CMD: |
168 | if(e->cmd_defns[idx].cmd_desc) | 172 | if(e->cmd_defns[idx].cmd_desc) { |
169 | return BIO_snprintf(s, | 173 | ret = snprintf(s, |
170 | strlen(e->cmd_defns[idx].cmd_desc) + 1, | 174 | strlen(e->cmd_defns[idx].cmd_desc) + 1, |
171 | "%s", e->cmd_defns[idx].cmd_desc); | 175 | "%s", e->cmd_defns[idx].cmd_desc); |
172 | return BIO_snprintf(s, strlen(int_no_description) + 1,"%s", | 176 | if (ret >= strlen(e->cmd_defns[idx].cmd_desc) + 1) |
173 | int_no_description); | 177 | ret = -1; |
178 | return ret; | ||
179 | } | ||
180 | ret = snprintf(s, strlen(int_no_description) + 1,"%s", | ||
181 | int_no_description); | ||
182 | if (ret >= strlen(int_no_description) + 1) | ||
183 | ret = -1; | ||
184 | return ret; | ||
174 | case ENGINE_CTRL_GET_CMD_FLAGS: | 185 | case ENGINE_CTRL_GET_CMD_FLAGS: |
175 | return e->cmd_defns[idx].cmd_flags; | 186 | return e->cmd_defns[idx].cmd_flags; |
176 | } | 187 | } |
diff --git a/src/lib/libssl/src/crypto/engine/eng_ctrl.c b/src/lib/libssl/src/crypto/engine/eng_ctrl.c index 5ce25d92ec..d5017e2329 100644 --- a/src/lib/libssl/src/crypto/engine/eng_ctrl.c +++ b/src/lib/libssl/src/crypto/engine/eng_ctrl.c | |||
@@ -104,6 +104,7 @@ static int int_ctrl_helper(ENGINE *e, int cmd, long i, void *p, | |||
104 | void (*f)(void)) | 104 | void (*f)(void)) |
105 | { | 105 | { |
106 | int idx; | 106 | int idx; |
107 | int ret; | ||
107 | char *s = (char *)p; | 108 | char *s = (char *)p; |
108 | /* Take care of the easy one first (eg. it requires no searches) */ | 109 | /* Take care of the easy one first (eg. it requires no searches) */ |
109 | if(cmd == ENGINE_CTRL_GET_FIRST_CMD_TYPE) | 110 | if(cmd == ENGINE_CTRL_GET_FIRST_CMD_TYPE) |
@@ -158,19 +159,29 @@ static int int_ctrl_helper(ENGINE *e, int cmd, long i, void *p, | |||
158 | case ENGINE_CTRL_GET_NAME_LEN_FROM_CMD: | 159 | case ENGINE_CTRL_GET_NAME_LEN_FROM_CMD: |
159 | return strlen(e->cmd_defns[idx].cmd_name); | 160 | return strlen(e->cmd_defns[idx].cmd_name); |
160 | case ENGINE_CTRL_GET_NAME_FROM_CMD: | 161 | case ENGINE_CTRL_GET_NAME_FROM_CMD: |
161 | return BIO_snprintf(s,strlen(e->cmd_defns[idx].cmd_name) + 1, | 162 | ret = snprintf(s,strlen(e->cmd_defns[idx].cmd_name) + 1, |
162 | "%s", e->cmd_defns[idx].cmd_name); | 163 | "%s", e->cmd_defns[idx].cmd_name); |
164 | if (ret >= (strlen(e->cmd_defns[idx].cmd_name) + 1)) | ||
165 | ret = -1; | ||
166 | return ret; | ||
163 | case ENGINE_CTRL_GET_DESC_LEN_FROM_CMD: | 167 | case ENGINE_CTRL_GET_DESC_LEN_FROM_CMD: |
164 | if(e->cmd_defns[idx].cmd_desc) | 168 | if(e->cmd_defns[idx].cmd_desc) |
165 | return strlen(e->cmd_defns[idx].cmd_desc); | 169 | return strlen(e->cmd_defns[idx].cmd_desc); |
166 | return strlen(int_no_description); | 170 | return strlen(int_no_description); |
167 | case ENGINE_CTRL_GET_DESC_FROM_CMD: | 171 | case ENGINE_CTRL_GET_DESC_FROM_CMD: |
168 | if(e->cmd_defns[idx].cmd_desc) | 172 | if(e->cmd_defns[idx].cmd_desc) { |
169 | return BIO_snprintf(s, | 173 | ret = snprintf(s, |
170 | strlen(e->cmd_defns[idx].cmd_desc) + 1, | 174 | strlen(e->cmd_defns[idx].cmd_desc) + 1, |
171 | "%s", e->cmd_defns[idx].cmd_desc); | 175 | "%s", e->cmd_defns[idx].cmd_desc); |
172 | return BIO_snprintf(s, strlen(int_no_description) + 1,"%s", | 176 | if (ret >= strlen(e->cmd_defns[idx].cmd_desc) + 1) |
173 | int_no_description); | 177 | ret = -1; |
178 | return ret; | ||
179 | } | ||
180 | ret = snprintf(s, strlen(int_no_description) + 1,"%s", | ||
181 | int_no_description); | ||
182 | if (ret >= strlen(int_no_description) + 1) | ||
183 | ret = -1; | ||
184 | return ret; | ||
174 | case ENGINE_CTRL_GET_CMD_FLAGS: | 185 | case ENGINE_CTRL_GET_CMD_FLAGS: |
175 | return e->cmd_defns[idx].cmd_flags; | 186 | return e->cmd_defns[idx].cmd_flags; |
176 | } | 187 | } |