/* For now, don't worry about the user's identity. */
Context = (PWINDNS_CONTEXT)RtlAllocateHeap( RtlGetProcessHeap(), 0,
sizeof( WINDNS_CONTEXT ) );
+
+ if(!Context){
+ *ContextHandle = 0;
+ return ERROR_OUTOFMEMORY;
+ }
+
/* The real work here is to create an adns_state that will help us
* do what we want to later. */
adns_status = adns_init( &Context->State,
0 );
if( adns_status != adns_s_ok ) {
*ContextHandle = 0;
+ RtlFreeHeap( RtlGetProcessHeap(), 0, Context );
return DnsIntTranslateAdnsToDNS_STATUS( adns_status );
} else {
*ContextHandle = (HANDLE)Context;
RtlFreeHeap( RtlGetProcessHeap(), 0, Context );
}
+
if( adns_error != adns_s_ok ) {
adns_finish( astate );
if ( CurrentName != Name ) {
- RtlFreeHeap( CurrentName, 0, GetProcessHeap() );
+ RtlFreeHeap( RtlGetProcessHeap(), 0, CurrentName );
}
return DnsIntTranslateAdnsToDNS_STATUS( adns_error );
}
if( answer && answer->rrs.addr ) {
if ( CurrentName != Name ) {
- RtlFreeHeap( CurrentName, 0, GetProcessHeap() );
+ RtlFreeHeap( RtlGetProcessHeap(), 0, CurrentName );
}
*QueryResultSet =
(PDNS_RECORD)RtlAllocateHeap( RtlGetProcessHeap(), 0,
NULL == answer->cname ) {
adns_finish( astate );
if ( CurrentName != Name ) {
- RtlFreeHeap( CurrentName, 0, GetProcessHeap() );
+ RtlFreeHeap( RtlGetProcessHeap(), 0, CurrentName );
}
return ERROR_FILE_NOT_FOUND;
}
if ( CurrentName != Name ) {
- RtlFreeHeap( CurrentName, 0, GetProcessHeap() );
+ RtlFreeHeap( RtlGetProcessHeap(), 0, CurrentName );
}
CurrentName = xstrsave( answer->cname );
if ( NULL == CurrentName ) {
}
}
adns_finish( astate );
- RtlFreeHeap( CurrentName, 0, GetProcessHeap() );
+ RtlFreeHeap( RtlGetProcessHeap(), 0, CurrentName );
return ERROR_FILE_NOT_FOUND;
default:
return ERROR_OUTOFMEMORY; /* XXX arty: find a better error code. */
PIP4_ARRAY Servers,
PDNS_RECORD *QueryResultSet,
PVOID *Reserved ) {
- return DnsQuery_UTF8( Name, Type, Options, Servers, QueryResultSet,
- Reserved );
+ UNIMPLEMENTED;
+ return ERROR_OUTOFMEMORY;
}
void DnsIntFreeRecordList( PDNS_RECORD ToDelete ) {