(der_get_int): handle len == 0. based on a patch from Love
<lha@stacken.kth.se> git-svn-id: svn://svn.h5l.se/heimdal/trunk/heimdal@11211 ec53bebd-3082-4978-b11e-865c3cabbd6b
This commit is contained in:
@@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (c) 1997 - 2001 Kungliga Tekniska H<>gskolan
|
* Copyright (c) 1997 - 2002 Kungliga Tekniska H<>gskolan
|
||||||
* (Royal Institute of Technology, Stockholm, Sweden).
|
* (Royal Institute of Technology, Stockholm, Sweden).
|
||||||
* All rights reserved.
|
* All rights reserved.
|
||||||
*
|
*
|
||||||
@@ -66,10 +66,11 @@ der_get_int (const unsigned char *p, size_t len,
|
|||||||
int val = 0;
|
int val = 0;
|
||||||
size_t oldlen = len;
|
size_t oldlen = len;
|
||||||
|
|
||||||
if (len--)
|
if (len > 0) {
|
||||||
val = (signed char)*p++;
|
val = (signed char)*p++;
|
||||||
while (len--)
|
while (--len)
|
||||||
val = val * 256 + *p++;
|
val = val * 256 + *p++;
|
||||||
|
}
|
||||||
*ret = val;
|
*ret = val;
|
||||||
if(size) *size = oldlen;
|
if(size) *size = oldlen;
|
||||||
return 0;
|
return 0;
|
||||||
|
Reference in New Issue
Block a user