X-Git-Url: https://git.ucc.asn.au/?p=tpg%2Facess2.git;a=blobdiff_plain;f=Usermode%2FLibraries%2Flibnet.so_src%2Fdns.c;fp=Usermode%2FLibraries%2Flibnet.so_src%2Fdns.c;h=26bf99b1514910bab3163af1d71aba5d752f710a;hp=9ac9198b2ec1929e12de61566838cfcdf589057c;hb=6a28fd66345b484f9dfa5dba869888becdaf7112;hpb=db55040ba8814edf681d4ccc12ad8955d8aa404a diff --git a/Usermode/Libraries/libnet.so_src/dns.c b/Usermode/Libraries/libnet.so_src/dns.c index 9ac9198b..26bf99b1 100644 --- a/Usermode/Libraries/libnet.so_src/dns.c +++ b/Usermode/Libraries/libnet.so_src/dns.c @@ -23,6 +23,10 @@ int DNS_Query(int ServerAType, const void *ServerAddr, const char *name, enum eT { char packet[512]; size_t packlen = DNS_int_EncodeQuery(packet, sizeof(packet), name, type, class); + if( packlen == 0 ) { + _SysDebug("DNS_Query - Serialising packet failed"); + return 2; + } // Send and wait for reply // - Lock @@ -35,8 +39,8 @@ int DNS_Query(int ServerAType, const void *ServerAddr, const char *name, enum eT // TODO: Correctly report this failure with a useful error code return 1; } - int rv = Net_UDP_SendTo(sock, 53, ServerAType, ServerAddr, pos, packet); - if( rv != pos ) { + int rv = Net_UDP_SendTo(sock, 53, ServerAType, ServerAddr, packlen, packet); + if( rv != packlen ) { _SysDebug("DNS_Query - Write failed"); // TODO: Error reporting _SysClose(sock);