krb5 commit [krb5-1.10]: Fix gss_str_to_oid for OIDs with zero-valued arcs
Tom Yu
tlyu at MIT.EDU
Fri Feb 22 18:25:31 EST 2013
https://github.com/krb5/krb5/commit/adf07b060c57ce900656d9ac6f491a84ede7bcc6
commit adf07b060c57ce900656d9ac6f491a84ede7bcc6
Author: Luke Howard <lukeh at padl.com>
Date: Sun Dec 30 10:36:25 2012 -0500
Fix gss_str_to_oid for OIDs with zero-valued arcs
gss_str_to_oid wasn't outputting any bytes for a zero-valued arc. It
should output one byte with value 0.
[ghudson at mit.edu: commit message]
(cherry picked from commit 54fa4433df7412267375240aba40959e97ac4fe2)
ticket: 7579 (new)
version_fixed: 1.10.4
status: resolved
src/lib/gssapi/generic/oid_ops.c | 12 ++++++------
1 files changed, 6 insertions(+), 6 deletions(-)
diff --git a/src/lib/gssapi/generic/oid_ops.c b/src/lib/gssapi/generic/oid_ops.c
index 535fe57..7645efe 100644
--- a/src/lib/gssapi/generic/oid_ops.c
+++ b/src/lib/gssapi/generic/oid_ops.c
@@ -339,10 +339,10 @@ generic_gss_str_to_oid(OM_uint32 *minor_status,
if (sscanf((char *)bp, "%ld", &numbuf) != 1) {
return(GSS_S_FAILURE);
}
- while (numbuf) {
+ do {
nbytes++;
numbuf >>= 7;
- }
+ } while (numbuf);
while ((bp < &cp[oid_str->length]) && isdigit(*bp))
bp++;
while ((bp < &cp[oid_str->length]) &&
@@ -380,20 +380,20 @@ generic_gss_str_to_oid(OM_uint32 *minor_status,
nbytes = 0;
/* Have to fill in the bytes msb-first */
onumbuf = numbuf;
- while (numbuf) {
+ do {
nbytes++;
numbuf >>= 7;
- }
+ } while (numbuf);
numbuf = onumbuf;
op += nbytes;
i = -1;
- while (numbuf) {
+ do {
op[i] = (unsigned char) numbuf & 0x7f;
if (i != -1)
op[i] |= 0x80;
i--;
numbuf >>= 7;
- }
+ } while (numbuf);
while (isdigit(*bp))
bp++;
while (isspace(*bp) || *bp == '.')
More information about the cvs-krb5
mailing list