Created
July 15, 2025 15:14
-
-
Save stevecheckoway/39eec9309dd15d568248ea1bf06c9c20 to your computer and use it in GitHub Desktop.
Example showing strncpy not working as desired
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
root@53a1a0150ee1:~/api_key_manager# make | |
gcc -Wall -Wextra -O2 -o api_key_manager api_key_manager.c -lsqlite3 -lsodium | |
api_key_manager.c: In function 'add_key': | |
api_key_manager.c:97:5: warning: '__builtin_strncpy' specified bound 256 equals destination size [-Wstringop-truncation] | |
97 | strncpy(new_key.description, description, MAX_DESC_LEN); | |
| ^ | |
root@53a1a0150ee1:~/api_key_manager# ./api_key_manager | |
No master key set. Please set a master key: | |
Master key set successfully | |
root@53a1a0150ee1:~/api_key_manager# ./api_key_manager -a "Encrypted key in description: $(perl -e 'print "A" x 256')" | |
Enter master key: | |
Enter API key: SUPER_SECRET_KEY | |
API key added successfully with ID: 1 | |
root@53a1a0150ee1:~/api_key_manager# ./api_key_manager -l | |
Enter master key: | |
Stored API Keys: | |
ID Description | |
1 Encrypted key in description: AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA��%�D=�i��AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAw�a\��]9A��-��9�:&��+������� | |
��;�(��� | |
root@53a1a0150ee1:~/api_key_manager# ./api_key_manager -l | tee output | |
Enter master key: | |
Stored API Keys: | |
ID Description | |
1 Encrypted key in description: AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA��%�D=�i��AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAw�a\��]9A��-��9�:&��+������� | |
��;�(��� | |
root@53a1a0150ee1:~/api_key_manager# xxd output | |
00000000: 456e 7465 7220 6d61 7374 6572 206b 6579 Enter master key | |
00000010: 3a20 0a53 746f 7265 6420 4150 4920 4b65 : .Stored API Ke | |
00000020: 7973 3a0a 4944 0944 6573 6372 6970 7469 ys:.ID.Descripti | |
00000030: 6f6e 0a31 0945 6e63 7279 7074 6564 206b on.1.Encrypted k | |
00000040: 6579 2069 6e20 6465 7363 7269 7074 696f ey in descriptio | |
00000050: 6e3a 2041 4141 4141 4141 4141 4141 4141 n: AAAAAAAAAAAAA | |
00000060: 4141 4141 4141 4141 4141 4141 4141 4141 AAAAAAAAAAAAAAAA | |
00000070: 4141 4141 4141 4141 4141 4141 4141 4141 AAAAAAAAAAAAAAAA | |
00000080: 4141 4141 4141 4141 4141 4141 4141 4141 AAAAAAAAAAAAAAAA | |
00000090: 4141 4141 4141 4141 4141 4141 4141 4141 AAAAAAAAAAAAAAAA | |
000000a0: 4141 4141 4141 4141 4141 4141 4141 4141 AAAAAAAAAAAAAAAA | |
000000b0: 4141 4141 4141 4141 4141 4141 4141 4141 AAAAAAAAAAAAAAAA | |
000000c0: 4141 4141 4141 4141 4141 4141 4141 4141 AAAAAAAAAAAAAAAA | |
000000d0: 4141 4141 4141 4141 4141 4141 4141 4141 AAAAAAAAAAAAAAAA | |
000000e0: 4141 4141 4141 4141 4141 4141 4141 4141 AAAAAAAAAAAAAAAA | |
000000f0: 4141 4141 4141 4141 4141 4141 4141 4141 AAAAAAAAAAAAAAAA | |
00000100: 4141 4141 4141 4141 4141 4141 4141 4141 AAAAAAAAAAAAAAAA | |
00000110: 4141 4141 4141 4141 4141 4141 4141 4141 AAAAAAAAAAAAAAAA | |
00000120: 4141 4141 4141 4141 4141 4141 4141 4141 AAAAAAAAAAAAAAAA | |
00000130: 4141 4141 4177 ea61 5caf ba5d 3941 87ce AAAAAw.a\..]9A.. | |
00000140: 2d9f 8c39 d83a 26eb debd 802b fed1 1597 -..9.:&....+.... | |
00000150: f081 c08e 1305 8b0d b214 9125 1180 443d ...........%..D= | |
00000160: fe69 d11a ae0a e6d1 3bd9 28a2 1e8d ff0a .i......;.(..... | |
root@53a1a0150ee1:~/api_key_manager# |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment