mirror of https://github.com/openssl/openssl.git
				
				
				
			This change to the "dl", "dlfcn", and "win32" DSO_METHODs adds the filename
or symbol name to the error stack in the event a load or bind operation failed.
This commit is contained in:
		
							parent
							
								
									0ea659475c
								
							
						
					
					
						commit
						b7b6c047ca
					
				|  | @ -130,6 +130,7 @@ static int dl_load(DSO *dso) | |||
| 	if(ptr == NULL) | ||||
| 		{ | ||||
| 		DSOerr(DSO_F_DL_LOAD,DSO_R_LOAD_FAILED); | ||||
| 		ERR_add_error_data(3, "filename(", filename, ")"); | ||||
| 		goto err; | ||||
| 		} | ||||
| 	if(!sk_push(dso->meth_data, (char *)ptr)) | ||||
|  | @ -198,6 +199,7 @@ static void *dl_bind_var(DSO *dso, const char *symname) | |||
| 	if (shl_findsym(&ptr, symname, TYPE_UNDEFINED, &sym) < 0) | ||||
| 		{ | ||||
| 		DSOerr(DSO_F_DL_BIND_VAR,DSO_R_SYM_FAILURE); | ||||
| 		ERR_add_error_data(3, "symname(", symname, ")"); | ||||
| 		return(NULL); | ||||
| 		} | ||||
| 	return(sym); | ||||
|  | @ -227,6 +229,7 @@ static DSO_FUNC_TYPE dl_bind_func(DSO *dso, const char *symname) | |||
| 	if (shl_findsym(&ptr, symname, TYPE_UNDEFINED, &sym) < 0) | ||||
| 		{ | ||||
| 		DSOerr(DSO_F_DL_BIND_FUNC,DSO_R_SYM_FAILURE); | ||||
| 		ERR_add_error_data(3, "symname(", symname, ")"); | ||||
| 		return(NULL); | ||||
| 		} | ||||
| 	return((DSO_FUNC_TYPE)sym); | ||||
|  |  | |||
|  | @ -147,6 +147,7 @@ static int dlfcn_load(DSO *dso) | |||
| 	if(ptr == NULL) | ||||
| 		{ | ||||
| 		DSOerr(DSO_F_DLFCN_LOAD,DSO_R_LOAD_FAILED); | ||||
| 		ERR_add_error_data(3, "filename(", filename, ")"); | ||||
| 		goto err; | ||||
| 		} | ||||
| 	if(!sk_push(dso->meth_data, (char *)ptr)) | ||||
|  | @ -214,6 +215,7 @@ static void *dlfcn_bind_var(DSO *dso, const char *symname) | |||
| 	if(sym == NULL) | ||||
| 		{ | ||||
| 		DSOerr(DSO_F_DLFCN_BIND_VAR,DSO_R_SYM_FAILURE); | ||||
| 		ERR_add_error_data(3, "symname(", symname, ")"); | ||||
| 		return(NULL); | ||||
| 		} | ||||
| 	return(sym); | ||||
|  | @ -244,6 +246,7 @@ static DSO_FUNC_TYPE dlfcn_bind_func(DSO *dso, const char *symname) | |||
| 	if(sym == NULL) | ||||
| 		{ | ||||
| 		DSOerr(DSO_F_DLFCN_BIND_FUNC,DSO_R_SYM_FAILURE); | ||||
| 		ERR_add_error_data(3, "symname(", symname, ")"); | ||||
| 		return(NULL); | ||||
| 		} | ||||
| 	return(sym); | ||||
|  |  | |||
|  | @ -126,6 +126,7 @@ static int win32_load(DSO *dso) | |||
| 	if(h == NULL) | ||||
| 		{ | ||||
| 		DSOerr(DSO_F_WIN32_LOAD,DSO_R_LOAD_FAILED); | ||||
| 		ERR_add_error_data(3, "filename(", filename, ")"); | ||||
| 		goto err; | ||||
| 		} | ||||
| 	p = (HINSTANCE *)OPENSSL_malloc(sizeof(HINSTANCE)); | ||||
|  | @ -210,6 +211,7 @@ static void *win32_bind_var(DSO *dso, const char *symname) | |||
| 	if(sym == NULL) | ||||
| 		{ | ||||
| 		DSOerr(DSO_F_WIN32_BIND_VAR,DSO_R_SYM_FAILURE); | ||||
| 		ERR_add_error_data(3, "symname(", symname, ")"); | ||||
| 		return(NULL); | ||||
| 		} | ||||
| 	return(sym); | ||||
|  | @ -240,6 +242,7 @@ static DSO_FUNC_TYPE win32_bind_func(DSO *dso, const char *symname) | |||
| 	if(sym == NULL) | ||||
| 		{ | ||||
| 		DSOerr(DSO_F_WIN32_BIND_FUNC,DSO_R_SYM_FAILURE); | ||||
| 		ERR_add_error_data(3, "symname(", symname, ")"); | ||||
| 		return(NULL); | ||||
| 		} | ||||
| 	return((DSO_FUNC_TYPE)sym); | ||||
|  |  | |||
		Loading…
	
		Reference in New Issue