diff options
author | Slawomir Bochenski <lkslawek@gmail.com> | 2012-01-24 14:22:43 +0100 |
---|---|---|
committer | Johan Hedberg <johan.hedberg@intel.com> | 2012-06-28 13:51:00 +0300 |
commit | 2053eeda325bc3f93359f8a3af780ac7c0f991f6 (patch) | |
tree | fd168318c91b3f559dbaafd0d51ebdc712ee3dcb /lib/sdp.c | |
parent | 256fde4f35ad1621c4a493750a46a7b81ff192c9 (diff) | |
download | bluez-2053eeda325bc3f93359f8a3af780ac7c0f991f6.tar.gz |
lib/sdp.c: Prevent passing unitialised argument
In case of sdp_seq_alloc() failures in loop, unitialised seqDTDs would
be passed to final sdp_seq_alloc.
Diffstat (limited to 'lib/sdp.c')
-rw-r--r-- | lib/sdp.c | 12 |
1 files changed, 8 insertions, 4 deletions
@@ -2525,11 +2525,15 @@ int sdp_set_profile_descs(sdp_record_t *rec, const sdp_list_t *profiles) dtds[1] = &uint16; values[1] = &profile->version; seq = sdp_seq_alloc(dtds, values, 2); - if (seq) { - seqDTDs[i] = &seq->dtd; - seqs[i] = seq; - sdp_pattern_add_uuid(rec, &profile->uuid); + + if (seq == NULL) { + status = -1; + break; } + + seqDTDs[i] = &seq->dtd; + seqs[i] = seq; + sdp_pattern_add_uuid(rec, &profile->uuid); i++; } if (status == 0) { |