From 4bbe001b15dec9cacd882ee55fe54f85c56a147f Mon Sep 17 00:00:00 2001 From: George Hazan Date: Sun, 15 Dec 2024 15:50:25 +0300 Subject: Steam: service calls switched to static handlers --- protocols/Steam/src/protobuf-c/protobuf-c-text.cpp | 20 ++++++++++++-------- 1 file changed, 12 insertions(+), 8 deletions(-) (limited to 'protocols/Steam/src/protobuf-c') diff --git a/protocols/Steam/src/protobuf-c/protobuf-c-text.cpp b/protocols/Steam/src/protobuf-c/protobuf-c-text.cpp index c0438b6ac8..68e54f143e 100644 --- a/protocols/Steam/src/protobuf-c/protobuf-c-text.cpp +++ b/protocols/Steam/src/protobuf-c/protobuf-c-text.cpp @@ -330,18 +330,22 @@ static void protobuf_c_text_to_string_internal( if (f[i].label == PROTOBUF_C_LABEL_REPEATED) { for (j = 0; j < quantifier_offset; j++) { auto *member = STRUCT_MEMBER(ProtobufCBinaryData *, m, f[i].offset); - char *p = (char *)malloc(member->len * 2 + 1); - bin2hex(member->data, member->len, p); - str.AppendFormat("%*s%s: \"%s\"\n", level, "", f[i].name, p); - free(p); + if (member->len && member->data) { + char *p = (char *)malloc(member->len * 2 + 1); + bin2hex(member->data, member->len, p); + str.AppendFormat("%*s%s: \"%s\"\n", level, "", f[i].name, p); + free(p); + } } } else { auto member = STRUCT_MEMBER(ProtobufCBinaryData, m, f[i].offset); - char *p = (char *)malloc(member.len * 2 + 1); - bin2hex(member.data, member.len, p); - str.AppendFormat("%*s%s: \"%s\"\n", level, "", f[i].name, p); - free(p); + if (member.len && member.data) { + char *p = (char *)malloc(member.len * 2 + 1); + bin2hex(member.data, member.len, p); + str.AppendFormat("%*s%s: \"%s\"\n", level, "", f[i].name, p); + free(p); + } } break; -- cgit v1.2.3