1
1

libssh/keyfiles.c: Fix bug when reading private keys with libgcrypt

git-svn-id: svn+ssh://svn.berlios.de/svnroot/repos/libssh/trunk@73 7dcaeef0-15fb-0310-b436-a5af3365683c
Этот коммит содержится в:
Jean-Philippe Garcia Ballester 2006-05-12 12:15:37 +00:00
родитель 49f537bdbe
Коммит f10e8874b2

Просмотреть файл

@ -134,15 +134,16 @@ int asn1_check_sequence(BUFFER *buffer)
unsigned char *j;
int i;
u32 size;
u32 padding;
if (!buffer_get_data(buffer,&tmp,1) || tmp != ASN1_SEQUENCE)
return 0;
size=asn1_get_len(buffer);
if (size != buffer_get_len(buffer) - buffer->pos)
if ((padding = buffer_get_len(buffer) - buffer->pos - size) > 0)
for (i = buffer_get_len(buffer) - buffer->pos - size,
j = buffer_get(buffer) + size + buffer->pos; i; i--, j++)
{
if (*j != 1) /* padding is allowed */
if (*j != padding) /* padding is allowed */
return 0; /* but nothing else */
}
return 1;