summaryrefslogtreecommitdiff
path: root/source3/libsmb/asn1.c
diff options
context:
space:
mode:
authorJeremy Allison <jra@samba.org>2006-06-13 18:15:03 +0000
committerGerald (Jerry) Carter <jerry@samba.org>2007-10-10 11:17:25 -0500
commit92db75b4a25823cf6882681267418a71d3cdb8c9 (patch)
tree0ca590fb060eb28287cc9619bb8c22a9089de296 /source3/libsmb/asn1.c
parentedcffcbe2875d749e97ddc6a685995973c09808e (diff)
downloadsamba-92db75b4a25823cf6882681267418a71d3cdb8c9.tar.gz
samba-92db75b4a25823cf6882681267418a71d3cdb8c9.tar.bz2
samba-92db75b4a25823cf6882681267418a71d3cdb8c9.zip
r16202: Fix Klocwork #3. Strange - was already fixed in HEAD.
Jeremy. (This used to be commit 319f80bbf0455cfaf80eab51313a56db4ed04ac5)
Diffstat (limited to 'source3/libsmb/asn1.c')
-rw-r--r--source3/libsmb/asn1.c9
1 files changed, 7 insertions, 2 deletions
diff --git a/source3/libsmb/asn1.c b/source3/libsmb/asn1.c
index 072fd30283..86a2845192 100644
--- a/source3/libsmb/asn1.c
+++ b/source3/libsmb/asn1.c
@@ -268,17 +268,22 @@ BOOL asn1_start_tag(ASN1_DATA *data, uint8 tag)
}
if (!asn1_read_uint8(data, &b)) {
+ SAFE_FREE(nesting);
return False;
}
if (b & 0x80) {
int n = b & 0x7f;
- if (!asn1_read_uint8(data, &b))
+ if (!asn1_read_uint8(data, &b)) {
+ SAFE_FREE(nesting);
return False;
+ }
nesting->taglen = b;
while (n > 1) {
- if (!asn1_read_uint8(data, &b))
+ if (!asn1_read_uint8(data, &b)) {
+ SAFE_FREE(nesting);
return False;
+ }
nesting->taglen = (nesting->taglen << 8) | b;
n--;
}