Skip to content

Commit ec54544

Browse files
authored
Merge pull request #4760 from cyrusimap/carddav_vparse_leak
carddav_db.c: don't leak X-prop values when writing vCard
2 parents 466af13 + e13a692 commit ec54544

File tree

1 file changed

+11
-8
lines changed

1 file changed

+11
-8
lines changed

Diff for: imap/carddav_db.c

+11-8
Original file line numberDiff line numberDiff line change
@@ -1160,16 +1160,19 @@ EXPORTED int carddav_writecard(struct carddav_db *carddavdb,
11601160
}
11611161
else if (!strcasecmp(name, "member") ||
11621162
!strcasecmp(name, "x-addressbookserver-member")) {
1163-
if (strncmp(propval, "urn:uuid:", 9)) continue;
1164-
strarray_append(&member_uids, propval+9);
1165-
strarray_append(&member_uids, "");
1163+
if (!strncmp(propval, "urn:uuid:", 9)) {
1164+
strarray_append(&member_uids, propval+9);
1165+
strarray_append(&member_uids, "");
1166+
}
11661167
}
11671168
else if (!strcasecmp(name, "x-fm-otheraccount-member")) {
1168-
if (strncmp(propval, "urn:uuid:", 9)) continue;
1169-
struct vparse_param *param = vparse_get_param(ventry, "userid");
1170-
if (!param) continue;
1171-
strarray_append(&member_uids, propval+9);
1172-
strarray_append(&member_uids, param->value);
1169+
if (!strncmp(propval, "urn:uuid:", 9)) {
1170+
struct vparse_param *param = vparse_get_param(ventry, "userid");
1171+
if (param) {
1172+
strarray_append(&member_uids, propval+9);
1173+
strarray_append(&member_uids, param->value);
1174+
}
1175+
}
11731176
}
11741177
else if (!strcasecmp(name, "kind") ||
11751178
!strcasecmp(name, "x-addressbookserver-kind")) {

0 commit comments

Comments
 (0)