From f8e2baf39eb864481dd48f61404136b325cd73c2 Mon Sep 17 00:00:00 2001 From: Jeremy Allison Date: Sat, 3 Nov 2001 23:34:24 +0000 Subject: Added NT_USER_TOKEN into server_info to fix extra groups problem. Got "medieval on our ass" about const warnings (as many as I could :-). Jeremy. (This used to be commit ee5e7ca547eff016818ba5c43b8ea0c9fa69b808) --- source3/libsmb/asn1.c | 29 ++++++++++++++++++----------- 1 file changed, 18 insertions(+), 11 deletions(-) (limited to 'source3/libsmb/asn1.c') diff --git a/source3/libsmb/asn1.c b/source3/libsmb/asn1.c index a8c0eebb94..50cf6a7142 100644 --- a/source3/libsmb/asn1.c +++ b/source3/libsmb/asn1.c @@ -32,14 +32,14 @@ BOOL asn1_write(ASN1_DATA *data, const void *p, int len) { if (data->has_error) return False; if (data->length < data->ofs+len) { - uint8 *p; - p = Realloc(data->data, data->ofs+len); - if (!p) { + uint8 *newp; + newp = Realloc(data->data, data->ofs+len); + if (!newp) { SAFE_FREE(data->data); data->has_error = True; return False; } - data->data = p; + data->data = newp; data->length = data->ofs+len; } memcpy(data->data + data->ofs, p, len); @@ -112,20 +112,27 @@ BOOL asn1_pop_tag(ASN1_DATA *data) BOOL asn1_write_OID(ASN1_DATA *data, const char *OID) { unsigned v, v2; - char *p = (char *)OID; + const char *p = (const char *)OID; + char *newp; - if (!asn1_push_tag(data, ASN1_OID)) return False; - v = strtol(p, &p, 10); - v2 = strtol(p, &p, 10); - if (!asn1_write_uint8(data, 40*v + v2)) return False; + if (!asn1_push_tag(data, ASN1_OID)) + return False; + v = strtol(p, &newp, 10); + p = newp; + v2 = strtol(p, &newp, 10); + p = newp; + if (!asn1_write_uint8(data, 40*v + v2)) + return False; while (*p) { - v = strtol(p, &p, 10); + v = strtol(p, &newp, 10); + p = newp; if (v >= (1<<28)) asn1_write_uint8(data, 0x80 | ((v>>28)&0xff)); if (v >= (1<<21)) asn1_write_uint8(data, 0x80 | ((v>>21)&0xff)); if (v >= (1<<14)) asn1_write_uint8(data, 0x80 | ((v>>14)&0xff)); if (v >= (1<<7)) asn1_write_uint8(data, 0x80 | ((v>>7)&0xff)); - if (!asn1_write_uint8(data, v&0x7f)) return False; + if (!asn1_write_uint8(data, v&0x7f)) + return False; } return asn1_pop_tag(data); } -- cgit