X-Git-Url: http://drtracing.org/?a=blobdiff_plain;f=gdb%2Fbtrace.c;h=94942f4a490347f18afc661505eea525da65a8c5;hb=e7b01ce03de85cfbbddb6ed755486db528abf1d1;hp=731d2377fadc8d332ce211ee34ee4cb459c656eb;hpb=210187848791f50ee7dd8eaae8fc4bd371b3550b;p=deliverable%2Fbinutils-gdb.git diff --git a/gdb/btrace.c b/gdb/btrace.c index 731d2377fa..94942f4a49 100644 --- a/gdb/btrace.c +++ b/gdb/btrace.c @@ -1414,19 +1414,18 @@ parse_xml_btrace_block (struct gdb_xml_parser *parser, static void parse_xml_raw (struct gdb_xml_parser *parser, const char *body_text, - gdb_byte **pdata, unsigned long *psize) + gdb_byte **pdata, size_t *psize) { struct cleanup *cleanup; gdb_byte *data, *bin; - unsigned long size; - size_t len; + size_t len, size; len = strlen (body_text); - size = len / 2; - - if ((size_t) size * 2 != len) + if (len % 2 != 0) gdb_xml_error (parser, _("Bad raw data size.")); + size = len / 2; + bin = data = xmalloc (size); cleanup = make_cleanup (xfree, data);