mirror of
				https://github.com/libssh2/libssh2.git
				synced 2025-10-30 12:05:34 +03:00 
			
		
		
		
	fix two NULL checks
- userauth: fix NULL dereference when out-of-memory. Also fix indentation. Follow-up to3a6ab70dcf#1314 - openssl: drop redundant NULL check and logic. Follow-up toed439a29bb#698 Pointed out by CodeQL Closes #1656
This commit is contained in:
		| @@ -3848,11 +3848,7 @@ gen_publickey_from_sk_ecdsa_openssh_priv_data(LIBSSH2_SESSION *session, | |||||||
|  |  | ||||||
|         LIBSSH2_FREE(session, *pubkeydata); |         LIBSSH2_FREE(session, *pubkeydata); | ||||||
|         *pubkeydata_len = key_len; |         *pubkeydata_len = key_len; | ||||||
|  |         *pubkeydata = key; | ||||||
|         if(pubkeydata) |  | ||||||
|             *pubkeydata = key; |  | ||||||
|         else if(key) |  | ||||||
|             LIBSSH2_FREE(session, key); |  | ||||||
|     } |     } | ||||||
|  |  | ||||||
|     if(ec_ctx) |     if(ec_ctx) | ||||||
|   | |||||||
| @@ -1492,7 +1492,8 @@ _libssh2_key_sign_algorithm(LIBSSH2_SESSION *session, | |||||||
|  |  | ||||||
|     if(match) { |     if(match) { | ||||||
|         if(*key_method_len == 28 && |         if(*key_method_len == 28 && | ||||||
|         memcmp(key_method, "ssh-rsa-cert-v01@openssh.com", *key_method_len)) { |            memcmp(key_method, | ||||||
|  |                   "ssh-rsa-cert-v01@openssh.com", *key_method_len)) { | ||||||
|             if(*key_method) |             if(*key_method) | ||||||
|                 LIBSSH2_FREE(session, *key_method); |                 LIBSSH2_FREE(session, *key_method); | ||||||
|             *key_method = LIBSSH2_ALLOC(session, match_len + suffix_len); |             *key_method = LIBSSH2_ALLOC(session, match_len + suffix_len); | ||||||
| @@ -1511,7 +1512,7 @@ _libssh2_key_sign_algorithm(LIBSSH2_SESSION *session, | |||||||
|                 *key_method_len = match_len; |                 *key_method_len = match_len; | ||||||
|             } |             } | ||||||
|         } |         } | ||||||
|         if(!key_method) { |         if(!*key_method) { | ||||||
|             *key_method_len = 0; |             *key_method_len = 0; | ||||||
|             rc = _libssh2_error(session, LIBSSH2_ERROR_ALLOC, |             rc = _libssh2_error(session, LIBSSH2_ERROR_ALLOC, | ||||||
|                                 "Unable to allocate key method upgrade"); |                                 "Unable to allocate key method upgrade"); | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user