FreeCalypso > hg > freecalypso-tools
view ffstools/caltools/fc-cal2bin.c @ 965:2969032bdfac
fcup-smsend[mult]: fix buglet in K&R C NULL pointer passing
The only 100% safe way to pass a NULL pointer as a function argument
in K&R C is to cast 0 to a pointer type; failing to do so may cause
mysterious bugs (invalid stack frames or garbage in argument registers)
on 64-bit machines. This issue has already been fixed in most of
FC host tools, but I just found some missed spots: passing of NULL UDH
to PDU encoding functions in fcup-smsend[mult] in the case of single
(not concatenated) SMS.
author | Mychaela Falconia <falcon@freecalypso.org> |
---|---|
date | Fri, 01 Sep 2023 07:33:51 +0000 |
parents | 5bcf12be0834 |
children |
line wrap: on
line source
/* * This utility converts an RF table from ASCII to binary format. */ #include <sys/types.h> #include <sys/file.h> #include <stdio.h> #include <stdlib.h> #include <unistd.h> main(argc, argv) char **argv; { u_char buf[512]; unsigned size; int ofd; if (argc != 3) { fprintf(stderr, "usage: %s ascii-input-file binary-output-file\n", argv[0]); exit(1); } if (read_rf_table_ext(argv[1], buf, 1, (char **) 0, &size)) exit(1); ofd = open(argv[2], O_WRONLY|O_CREAT|O_TRUNC, 0666); if (ofd < 0) { perror(argv[2]); exit(1); } write(ofd, buf, size); close(ofd); exit(0); }