Building Secure Software cover

Main
Order
Praise
Resources
Book Code
Errata
About the Authors

Errata

First Printing

PageDescription
xxviiChenxi Wong should be Chenxi Wang
56The footnote states there are no DCOM implementations for UNIX. That turns out to be untrue; Software AG provides an implementation.
57Call-level authentication is now automatically elevated to packet-level.
57To be fair, v2 of the LAN Manager protocol is much better than V1.
58If it wasn't clear, level 7 also provides integrity. Levels 6 and 7 can perform mutual two-way authentication if using kerberos.
58Our source was outdated on the issue of delegating identity in DCOM; this is available in Windows 2000 and XP.
71In the section, "Security by Obscurity", replace "built" with "used". The exact history of the Enigma is oversimplified here. See Kahn's "The Codebreakers" for a more accurate description.
102"Karst" should be "Kursk".
106"Nielson" should be "Nielsen".
146printf(%s\n",... should read printf("%s\n",...
147Add a newline after the } where } and "buf = ..." are on the same line.
149"...versions of system calls" should be "...versions of library calls"
151 "This approach only works database of your favorite software security scanner" should read "This approach only works for those functions the library actually reimplements safely."
151 "source scanner..": delete second period.
167 printf("i = %d; argc = %d\n"); should read printf("i = %d; argc = %d\n", i, argc);
190The first full paragraph should read: There are other special permissions in UNIX. The text permission, most often called the "sticky bit" (as previously mentioned), does nothing on files in any modern OS.
193In the footnote, "On System V" -> "On some System V systems"
195set_perms_to_0600 should have an int return type
196chown_to_100 should have an int return type
196both code examples should return 0 by default.
197<sys/stats.h> should be <sys/stat.h>
202SIDs can also apply to computers.
205Note that chdir can fail, and its return value should be checked.
223Note that there may be a need for additional headers depending on the OS (particularly sys/setlimits.h)
223 The string declaration should be for new_dir not newdir.
226We should explicitly note that when using base 64 encoding for randomness, you need to replace the "/" character with a "." or some other character that isn't special to the file system.
237The exponent in the second equation should be attached to "x", not the number 1.
244"Blumb-Blumb-Shub" should be "Blum-Blum-Shub".
312The return type of get_uid_by_name should be uid_t, not gid_t.
319while(i-) should be while(i--)
319The brace after envrion[i] = 0; should be removed.
350"MD5Final" should be "EVP_DigestFinal".
382MS SQL server now supports encryption.
402-403Commas at the end of each line of the array (except the last) are missing.
418ret ^= start++ should be ret ^= *start++
427 \& 466Firewalls and Internet Security incorrectly reported as 2nd Edition; year is 1994, not 2001.
467[Hamlet, 2001]: "Joe Mayber" should be "Joe Maybee".

Copyright © 2001 by John Viega and Gary McGraw.