Skip to content

Commit 39927fa

Browse files
committed
1 parent 7c3b68b commit 39927fa

File tree

3 files changed

+6
-4
lines changed

3 files changed

+6
-4
lines changed

python/ql/lib/semmle/python/frameworks/Stdlib.qll

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -852,7 +852,7 @@ private module StdlibPrivate {
852852
Base64EncodeCall() {
853853
name in [
854854
"b64encode", "standard_b64encode", "urlsafe_b64encode", "b32encode", "b16encode",
855-
"encodestring", "a85encode", "b85encode", "encodebytes"
855+
"encodestring", "a85encode", "b85encode", "encodebytes", "b32hexencode"
856856
] and
857857
this = base64().getMember(name).getACall()
858858
}
@@ -867,7 +867,7 @@ private module StdlibPrivate {
867867
] and
868868
result = "Base64"
869869
or
870-
name = "b32encode" and result = "Base32"
870+
name in ["b32encode", "b32hexencode"] and result = "Base32"
871871
or
872872
name = "b16encode" and result = "Base16"
873873
or
@@ -884,7 +884,7 @@ private module StdlibPrivate {
884884
Base64DecodeCall() {
885885
name in [
886886
"b64decode", "standard_b64decode", "urlsafe_b64decode", "b32decode", "b16decode",
887-
"decodestring", "a85decode", "b85decode", "decodebytes"
887+
"decodestring", "a85decode", "b85decode", "decodebytes", "b32hexdecode"
888888
] and
889889
this = base64().getMember(name).getACall()
890890
}
@@ -901,7 +901,7 @@ private module StdlibPrivate {
901901
] and
902902
result = "Base64"
903903
or
904-
name = "b32decode" and result = "Base32"
904+
name in ["b32decode", "b32hexdecode"] and result = "Base32"
905905
or
906906
name = "b16decode" and result = "Base16"
907907
or

python/ql/test/library-tests/frameworks/stdlib/Decoding.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,7 @@
3131
base64.standard_b64decode(payload) # $ decodeInput=payload decodeOutput=base64.standard_b64decode(..) decodeFormat=Base64
3232
base64.urlsafe_b64decode(payload) # $ decodeInput=payload decodeOutput=base64.urlsafe_b64decode(..) decodeFormat=Base64
3333
base64.b32decode(payload) # $ decodeInput=payload decodeOutput=base64.b32decode(..) decodeFormat=Base32
34+
base64.b32hexdecode(payload) # $ decodeInput=payload decodeOutput=base64.b32hexdecode(..) decodeFormat=Base32
3435
base64.b16decode(payload) # $ decodeInput=payload decodeOutput=base64.b16decode(..) decodeFormat=Base16
3536
# deprecated since Python 3.1, but still works
3637
base64.decodestring(payload) # $ decodeInput=payload decodeOutput=base64.decodestring(..) decodeFormat=Base64

python/ql/test/library-tests/frameworks/stdlib/Encoding.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@
1010
base64.standard_b64encode(bs) # $ encodeInput=bs encodeOutput=base64.standard_b64encode(..) encodeFormat=Base64
1111
base64.urlsafe_b64encode(bs) # $ encodeInput=bs encodeOutput=base64.urlsafe_b64encode(..) encodeFormat=Base64
1212
base64.b32encode(bs) # $ encodeInput=bs encodeOutput=base64.b32encode(..) encodeFormat=Base32
13+
base64.b32hexencode(bs) # $ encodeInput=bs encodeOutput=base64.b32hexencode(..) encodeFormat=Base32
1314
base64.b16encode(bs) # $ encodeInput=bs encodeOutput=base64.b16encode(..) encodeFormat=Base16
1415
# deprecated since Python 3.1, but still works
1516
base64.encodestring(bs) # $ encodeInput=bs encodeOutput=base64.encodestring(..) encodeFormat=Base64

0 commit comments

Comments
 (0)