Rev 11384: Properly warn when trying to use not fully dereferenced variables in size_is(), length_is(), etc. in file:///home/jelmer/bzr.samba/SAMBA_4_0/

Jelmer Vernooij jelmer at samba.org
Wed Feb 7 13:00:55 GMT 2007


At file:///home/jelmer/bzr.samba/SAMBA_4_0/

------------------------------------------------------------
revno: 11384
revision-id: jelmer at samba.org-20070207130042-nyy4qmqsxajwygrs
parent: jelmer at samba.org-20070207123546-s8f95bfzn2augdie
committer: Jelmer Vernooij <jelmer at samba.org>
branch nick: SAMBA_4_0
timestamp: Wed 2007-02-07 14:00:42 +0100
message:
  Properly warn when trying to use not fully dereferenced variables in size_is(), length_is(), etc.
modified:
  source/pidl/lib/Parse/Pidl/Samba4/NDR/Parser.pm svn-v2:12463 at 0c0555d6-39d7-0310-84fc-f1cc0bd64818-branches%2fSAMBA_4_0-source%2fpidl%2flib%2fParse%2fPidl%2fSamba4%2fNDR%2fParser.pm
=== modified file 'source/pidl/lib/Parse/Pidl/Samba4/NDR/Parser.pm'
--- a/source/pidl/lib/Parse/Pidl/Samba4/NDR/Parser.pm	2007-02-07 12:35:46 +0000
+++ b/source/pidl/lib/Parse/Pidl/Samba4/NDR/Parser.pm	2007-02-07 13:00:42 +0000
@@ -326,7 +326,6 @@
 		
 		return($expandedvar) unless (defined($var));
 		my $e;
-		# lookup ptr in $e
 		foreach (@{$element->{PARENT}->{ELEMENTS}}) {
 			if ($_->{NAME} eq $var) {
 				$e = $_;
@@ -341,10 +340,10 @@
 		my $nump = 0;
 		foreach (@{$e->{LEVELS}}) {
 			if ($_->{TYPE} eq "POINTER") {
-				$nump = $_->{POINTER_INDEX};
+				$nump = $_->{POINTER_INDEX}+1;
 			}
 		}
-		warning($element->{ORIGINAL}, "Got pointer, expected fully derefenced variable") if ($nump > length($ptr));
+		warning($element->{ORIGINAL}, "Got pointer for `$e->{NAME}', expected fully derefenced variable") if ($nump > length($ptr));
 		return ($expandedvar);
 	}
 }	



More information about the samba-cvs mailing list