git.samba.org
/
metze
/
samba
/
wip.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
| inline |
side by side
(parent:
7375992
)
librpc: cab: Integer wrap protection for ndr_count_cfdata().
author
Jeremy Allison
<jra@samba.org>
Wed, 30 Nov 2016 17:19:43 +0000
(09:19 -0800)
committer
Jeremy Allison
<jra@samba.org>
Thu, 1 Dec 2016 01:02:19 +0000
(
02:02
+0100)
Signed-off-by: Jeremy Allison <jra@samba.org>
Reviewed-by: Andreas Schneider <asn@samba.org>
librpc/ndr/ndr_cab.c
patch
|
blob
|
history
diff --git
a/librpc/ndr/ndr_cab.c
b/librpc/ndr/ndr_cab.c
index 0d2b36b3249b86f135930ba003cd4d38e083ae5c..d5ab87fb0afde39711ee60953a2956145adabaac 100644
(file)
--- a/
librpc/ndr/ndr_cab.c
+++ b/
librpc/ndr/ndr_cab.c
@@
-57,6
+57,10
@@
uint32_t ndr_count_cfdata(const struct cab_file *r)
uint32_t count = 0, i;
for (i = 0; i < r->cfheader.cFolders; i++) {
+ if (count + r->cffolders[i].cCFData < count) {
+ /* Integer wrap. */
+ return 0;
+ }
count += r->cffolders[i].cCFData;
}