version 1.17, 1999/03/03 14:57:57
|
version 1.18, 1999/04/27 03:19:32
|
Line 101 ber_skip_tag( BerElement *ber, unsigned
|
Line 101 ber_skip_tag( BerElement *ber, unsigned
|
return( LBER_DEFAULT ); |
return( LBER_DEFAULT ); |
if ( lc & 0x80 ) { |
if ( lc & 0x80 ) { |
noctets = (lc & 0x7f); |
noctets = (lc & 0x7f); |
if ( noctets > sizeof(unsigned long) ) |
if ( (unsigned) noctets > sizeof(unsigned long) ) |
return( LBER_DEFAULT ); |
return( LBER_DEFAULT ); |
diff = sizeof(unsigned long) - noctets; |
diff = sizeof(unsigned long) - noctets; |
if ( ber_read( ber, (char *) &netlen + diff, noctets ) |
if ( ber_read( ber, (char *) &netlen + diff, noctets ) |
Line 142 ber_getnint( BerElement *ber, long *num,
|
Line 142 ber_getnint( BerElement *ber, long *num,
|
* extend after we read it in. |
* extend after we read it in. |
*/ |
*/ |
|
|
if ( len > sizeof(long) ) |
if ( (unsigned) len > sizeof(long) ) |
return( -1 ); |
return( -1 ); |
|
|
netnum = 0; |
netnum = 0; |
Line 154 ber_getnint( BerElement *ber, long *num,
|
Line 154 ber_getnint( BerElement *ber, long *num,
|
/* sign extend if necessary */ |
/* sign extend if necessary */ |
p = (char *) &netnum; |
p = (char *) &netnum; |
sign = (0x80 & *(p+diff) ); |
sign = (0x80 & *(p+diff) ); |
if ( sign && len < sizeof(long) ) { |
if ( sign && ((unsigned) len < sizeof(long)) ) { |
for ( i = 0; i < diff; i++ ) { |
for ( i = 0; i < diff; i++ ) { |
*(p+i) = (unsigned char) 0xff; |
*(p+i) = (unsigned char) 0xff; |
} |
} |