aboutsummaryrefslogtreecommitdiff
path: root/drill/work.c
diff options
context:
space:
mode:
authorDag-Erling Smørgrav <des@FreeBSD.org>2013-02-15 13:51:54 +0000
committerDag-Erling Smørgrav <des@FreeBSD.org>2013-02-15 13:51:54 +0000
commit2f10c3e258216a4694be7302c4a039b26be832bf (patch)
tree0cc5ddc89809341208b405e0e4b030b820ac614f /drill/work.c
parenta1ba2d1ca3a1d6c9c36a79a196dd3ccb83ede353 (diff)
downloadsrc-2f10c3e258216a4694be7302c4a039b26be832bf.tar.gz
src-2f10c3e258216a4694be7302c4a039b26be832bf.zip
import ldns 1.6.16vendor/ldns/1.6.16
Notes
Notes: svn path=/vendor/ldns/dist/; revision=246828 svn path=/vendor/ldns/1.6.16/; revision=246829; tag=vendor/ldns/1.6.16
Diffstat (limited to 'drill/work.c')
-rw-r--r--drill/work.c26
1 files changed, 5 insertions, 21 deletions
diff --git a/drill/work.c b/drill/work.c
index 3a9cb5855d70..653145fe522b 100644
--- a/drill/work.c
+++ b/drill/work.c
@@ -122,11 +122,6 @@ packetbuffromfile(char *filename, uint8_t *wire)
hexbuf[hexbufpos] = (uint8_t) c;
hexbufpos++;
break;
- default:
- warning("unknown state while reading %s", filename);
- xfree(hexbuf);
- return 0;
- break;
}
c = fgetc(fp);
}
@@ -178,20 +173,7 @@ read_hex_buffer(char *filename)
size_t wiresize;
ldns_buffer *result_buffer = NULL;
- FILE *fp = NULL;
-
- if (strncmp(filename, "-", 2) != 0) {
- fp = fopen(filename, "r");
- } else {
- fp = stdin;
- }
-
- if (fp == NULL) {
- perror("");
- warning("Unable to open %s", filename);
- return NULL;
- }
-
+
wire = xmalloc(LDNS_MAX_PACKETLEN);
wiresize = packetbuffromfile(filename, wire);
@@ -199,8 +181,8 @@ read_hex_buffer(char *filename)
result_buffer = LDNS_MALLOC(ldns_buffer);
ldns_buffer_new_frm_data(result_buffer, wire, wiresize);
ldns_buffer_set_position(result_buffer, ldns_buffer_capacity(result_buffer));
-
xfree(wire);
+
return result_buffer;
}
@@ -236,7 +218,7 @@ read_hex_pkt(char *filename)
void
dump_hex(const ldns_pkt *pkt, const char *filename)
{
- uint8_t *wire;
+ uint8_t *wire = NULL;
size_t size, i;
FILE *fp;
ldns_status status;
@@ -252,6 +234,7 @@ dump_hex(const ldns_pkt *pkt, const char *filename)
if (status != LDNS_STATUS_OK) {
error("Unable to convert packet: error code %u", status);
+ LDNS_FREE(wire);
return;
}
@@ -273,4 +256,5 @@ dump_hex(const ldns_pkt *pkt, const char *filename)
}
fprintf(fp, "\n");
fclose(fp);
+ LDNS_FREE(wire);
}