Mercurial > pidgin.yaz
comparison libgaim/dnsquery.c @ 14466:5a09940b88f7
[gaim-migrate @ 17180]
Don't allow dns lookups of empty strings
committer: Tailor Script <tailor@pidgin.im>
author | Mark Doliner <mark@kingant.net> |
---|---|
date | Wed, 06 Sep 2006 10:06:58 +0000 |
parents | 92eb7a040663 |
children | 1d73e11d8787 |
comparison
equal
deleted
inserted
replaced
14465:8395297271c6 | 14466:5a09940b88f7 |
---|---|
589 query_data->port = port; | 589 query_data->port = port; |
590 query_data->callback = callback; | 590 query_data->callback = callback; |
591 query_data->data = data; | 591 query_data->data = data; |
592 query_data->resolver = NULL; | 592 query_data->resolver = NULL; |
593 | 593 |
594 if (strlen(query_data->hostname) == 0) | |
595 { | |
596 gaim_dnsquery_destroy(query_data); | |
597 g_return_val_if_reached(NULL); | |
598 } | |
599 | |
594 if (!queued_requests) | 600 if (!queued_requests) |
595 queued_requests = g_queue_new(); | 601 queued_requests = g_queue_new(); |
596 g_queue_push_tail(queued_requests, query_data); | 602 g_queue_push_tail(queued_requests, query_data); |
597 | 603 |
598 gaim_debug_info("dns", "DNS query for '%s' queued\n", query_data->hostname); | 604 gaim_debug_info("dns", "DNS query for '%s' queued\n", query_data->hostname); |
755 query_data->callback = callback; | 761 query_data->callback = callback; |
756 query_data->data = data; | 762 query_data->data = data; |
757 query_data->error_message = NULL; | 763 query_data->error_message = NULL; |
758 query_data->hosts = NULL; | 764 query_data->hosts = NULL; |
759 | 765 |
766 if (strlen(query_data->hostname) == 0) | |
767 { | |
768 gaim_dnsquery_destroy(query_data); | |
769 g_return_val_if_reached(NULL); | |
770 } | |
771 | |
760 /* Don't call the callback before returning */ | 772 /* Don't call the callback before returning */ |
761 query_data->timeout = gaim_timeout_add(0, resolve_host, query_data); | 773 query_data->timeout = gaim_timeout_add(0, resolve_host, query_data); |
762 | 774 |
763 return query_data; | 775 return query_data; |
764 } | 776 } |
810 { | 822 { |
811 GaimDnsQueryData *query_data; | 823 GaimDnsQueryData *query_data; |
812 | 824 |
813 g_return_val_if_fail(hostname != NULL, NULL); | 825 g_return_val_if_fail(hostname != NULL, NULL); |
814 g_return_val_if_fail(port != 0, NULL); | 826 g_return_val_if_fail(port != 0, NULL); |
827 g_return_val_if_fail(callback != NULL, NULL); | |
815 | 828 |
816 query_data = g_new(GaimDnsQueryData, 1); | 829 query_data = g_new(GaimDnsQueryData, 1); |
817 query_data->hostname = g_strdup(hostname); | 830 query_data->hostname = g_strdup(hostname); |
818 g_strstrip(query_data->hostname); | 831 g_strstrip(query_data->hostname); |
819 query_data->port = port; | 832 query_data->port = port; |
820 query_data->callback = callback; | 833 query_data->callback = callback; |
821 query_data->data = data; | 834 query_data->data = data; |
835 | |
836 if (strlen(query_data->hostname) == 0) | |
837 { | |
838 gaim_dnsquery_destroy(query_data); | |
839 g_return_val_if_reached(NULL); | |
840 } | |
822 | 841 |
823 /* Don't call the callback before returning */ | 842 /* Don't call the callback before returning */ |
824 query_data->timeout = gaim_timeout_add(0, resolve_host, query_data); | 843 query_data->timeout = gaim_timeout_add(0, resolve_host, query_data); |
825 | 844 |
826 return query_data; | 845 return query_data; |