Changeset 597 for vendor/current/source3/smbd/sesssetup.c
- Timestamp:
- Jul 2, 2011, 4:01:14 PM (14 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
vendor/current/source3/smbd/sesssetup.c
r587 r597 1102 1102 1103 1103 asn1_load(data, *pblob); 1104 asn1_start_tag(data, pblob->data[0]); 1105 if (data->has_error || data->nesting == NULL) { 1104 if (asn1_start_tag(data, pblob->data[0])) { 1105 /* asn1_start_tag checks if the given 1106 length of the blob is enough to complete 1107 the tag. If it returns true we know 1108 there is nothing to do - the blob is 1109 complete. */ 1106 1110 asn1_free(data); 1107 /* Let caller catch. */1108 1111 return NT_STATUS_OK; 1109 1112 } 1113 1114 if (data->nesting == NULL) { 1115 /* Incorrect tag, allocation failed, 1116 or reading the tag length failed. 1117 Let the caller catch. */ 1118 asn1_free(data); 1119 return NT_STATUS_OK; 1120 } 1121 1122 /* Here we know asn1_start_tag() has set data->has_error to true. 1123 asn1_tag_remaining() will have failed due to the given blob 1124 being too short. We need to work out how short. */ 1110 1125 1111 1126 /* Integer wrap paranoia.... */ … … 1137 1152 if (needed_len <= pblob->length) { 1138 1153 /* Nothing to do - blob is complete. */ 1154 /* THIS SHOULD NOT HAPPEN - asn1_start_tag() 1155 above should have caught this !!! */ 1156 DEBUG(0,("check_spnego_blob_complete: logic " 1157 "error (needed_len = %u, " 1158 "pblob->length = %u).\n", 1159 (unsigned int)needed_len, 1160 (unsigned int)pblob->length )); 1139 1161 return NT_STATUS_OK; 1140 1162 }
Note:
See TracChangeset
for help on using the changeset viewer.