diff options
author | Christian Grothoff <christian@grothoff.org> | 2020-03-03 12:31:23 +0100 |
---|---|---|
committer | Christian Grothoff <christian@grothoff.org> | 2020-03-03 12:31:23 +0100 |
commit | d1bdcb2618b13c3289492347550feb3fcf1f812d (patch) | |
tree | 131b879a93604417ae6abf590b784f1655570da8 /src/util/strings.c | |
parent | 9a6588810236327f0a7155c29bd5d5a3f3822652 (diff) | |
download | gnunet-d1bdcb2618b13c3289492347550feb3fcf1f812d.tar.gz gnunet-d1bdcb2618b13c3289492347550feb3fcf1f812d.zip |
make static analysis happier
Diffstat (limited to 'src/util/strings.c')
-rw-r--r-- | src/util/strings.c | 11 |
1 files changed, 8 insertions, 3 deletions
diff --git a/src/util/strings.c b/src/util/strings.c index a291dc4e1..f3089bf65 100644 --- a/src/util/strings.c +++ b/src/util/strings.c | |||
@@ -1932,6 +1932,7 @@ GNUNET_STRINGS_base64url_encode (const void *in, size_t len, char **output) | |||
1932 | return strlen (enc); | 1932 | return strlen (enc); |
1933 | } | 1933 | } |
1934 | 1934 | ||
1935 | |||
1935 | #define cvtfind(a) \ | 1936 | #define cvtfind(a) \ |
1936 | ((((a) >= 'A') && ((a) <= 'Z')) \ | 1937 | ((((a) >= 'A') && ((a) <= 'Z')) \ |
1937 | ? (a) - 'A' \ | 1938 | ? (a) - 'A' \ |
@@ -1964,7 +1965,7 @@ GNUNET_STRINGS_base64_decode (const char *data, size_t len, void **out) | |||
1964 | "ignoring CR/LF\n"); \ | 1965 | "ignoring CR/LF\n"); \ |
1965 | i++; \ | 1966 | i++; \ |
1966 | if (i >= len) \ | 1967 | if (i >= len) \ |
1967 | goto END; \ | 1968 | goto END; \ |
1968 | } | 1969 | } |
1969 | 1970 | ||
1970 | output = GNUNET_malloc ((len * 3 / 4) + 8); | 1971 | output = GNUNET_malloc ((len * 3 / 4) + 8); |
@@ -2046,16 +2047,20 @@ GNUNET_STRINGS_base64url_decode (const char *data, size_t len, void **out) | |||
2046 | case 0: | 2047 | case 0: |
2047 | break; // No pad chars in this case | 2048 | break; // No pad chars in this case |
2048 | case 2: | 2049 | case 2: |
2049 | strncpy (&s[len], "==", 2); | 2050 | memcpy (&s[len], |
2051 | "==", | ||
2052 | 2); | ||
2053 | len += 2; | ||
2050 | break; // Two pad chars | 2054 | break; // Two pad chars |
2051 | case 3: | 2055 | case 3: |
2052 | s[len] = '='; | 2056 | s[len] = '='; |
2057 | len++; | ||
2053 | break; // One pad char | 2058 | break; // One pad char |
2054 | default: | 2059 | default: |
2055 | GNUNET_assert (0); | 2060 | GNUNET_assert (0); |
2056 | break; | 2061 | break; |
2057 | } | 2062 | } |
2058 | ret = GNUNET_STRINGS_base64_decode (s, strlen (s), out); | 2063 | ret = GNUNET_STRINGS_base64_decode (s, len, out); |
2059 | GNUNET_free (s); | 2064 | GNUNET_free (s); |
2060 | return ret; | 2065 | return ret; |
2061 | } | 2066 | } |