summaryrefslogtreecommitdiff
path: root/protocols/Steam/src/protobuf-c
diff options
context:
space:
mode:
authorGeorge Hazan <george.hazan@gmail.com>2024-12-15 15:50:25 +0300
committerGeorge Hazan <george.hazan@gmail.com>2024-12-15 15:50:25 +0300
commit4bbe001b15dec9cacd882ee55fe54f85c56a147f (patch)
treef181de7f9180492ac67a4a724697aad48eb6edb7 /protocols/Steam/src/protobuf-c
parentd2c72c9bf3492fd40960c2f0935c9c675795d28a (diff)
Steam: service calls switched to static handlers
Diffstat (limited to 'protocols/Steam/src/protobuf-c')
-rw-r--r--protocols/Steam/src/protobuf-c/protobuf-c-text.cpp20
1 files changed, 12 insertions, 8 deletions
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;