You are viewing a plain text version of this content. The canonical link for it is here.
Posted to proton@qpid.apache.org by "ASF subversion and git services (JIRA)" <ji...@apache.org> on 2015/03/06 17:49:38 UTC
[jira] [Commented] (PROTON-835) strncmp in pn_data_lookup doesn't
work in some cases
[ https://issues.apache.org/jira/browse/PROTON-835?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14350569#comment-14350569 ]
ASF subversion and git services commented on PROTON-835:
--------------------------------------------------------
Commit 304f6dfda72ec8d2f09df0efff3b0c16f2f3782e in qpid-proton's branch refs/heads/master from [~aconway]
[ https://git-wip-us.apache.org/repos/asf?p=qpid-proton.git;h=304f6df ]
PROTON-835: strncmp in pn_data_lookup doesn't work in some cases
> strncmp in pn_data_lookup doesn't work in some cases
> ----------------------------------------------------
>
> Key: PROTON-835
> URL: https://issues.apache.org/jira/browse/PROTON-835
> Project: Qpid Proton
> Issue Type: Bug
> Components: proton-c
> Affects Versions: 0.8
> Reporter: Sergejs Melderis
> Priority: Critical
>
> pn_data_lookup in codec.c doesn't always work correctly when a message has two properties in which one property is a prefix for another. In my particular use case the properties were 'msc_gt' and 'msc_gt_service'. and the pn_data_lookup was returning a pointer to 'msc_gt' when was called with 'msc_gt_service'.
> I fixed it by comparing the length of pn_bytes_t and the length of the property name as so:
> size_t namelen = strlen(name);
> pn_bytes_t bytes = pn_data_get_bytes(data);
> if (namelen == bytes.size && !strncmp(name, bytes.start, bytes.size)) {
> return pn_data_next(data);
> }
>
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)