|
|
| version 1.41, 2025/04/25 20:08:19 | version 1.43, 2026/03/24 00:25:36 |
|---|---|
| Line 24 | Line 24 |
| * along with FreeM. If not, see <https://www.gnu.org/licenses/>. | * along with FreeM. If not, see <https://www.gnu.org/licenses/>. |
| * | * |
| * $Log$ | * $Log$ |
| * Revision 1.43 2026/03/24 00:25:36 snw | |
| * Fix segfault when running \'fmadm status\' without a second argument | |
| * | |
| * Revision 1.42 2025/05/13 20:03:53 snw | |
| * Error-check fopen in fm_daemonctl | |
| * | |
| * Revision 1.41 2025/04/25 20:08:19 snw | * Revision 1.41 2025/04/25 20:08:19 snw |
| * Work on improving routine importer | * Work on improving routine importer |
| * | * |
| Line 430 int main (int argc, char **argv) | Line 436 int main (int argc, char **argv) |
| obj = OBJ_DAEMON; | obj = OBJ_DAEMON; |
| goto process_args; | goto process_args; |
| } | } |
| else if (strcmp (argv[1], "status") == 0 && strcmp (argv[2], "environment") == 0) { | else if (strcmp (argv[1], "status") == 0) { |
| act = ACT_STATUS; | if (argc < 3) { |
| obj = OBJ_DAEMON; | fprintf (stderr, "fmadm: did you mean 'fmadm status environment'?\r\n"); |
| goto process_args; | exit (1); |
| } | |
| if (strcmp (argv[2], "environment") == 0) { | |
| act = ACT_STATUS; | |
| obj = OBJ_DAEMON; | |
| goto process_args; | |
| } | |
| else { | |
| fmadm_usage (); | |
| exit (1); | |
| } | |
| } | } |
| } | } |
| Line 1370 int fm_daemonctl (short action, short ob | Line 1387 int fm_daemonctl (short action, short ob |
| envlist = (char *) malloc (sizeof (char) * BIGSTR); | envlist = (char *) malloc (sizeof (char) * BIGSTR); |
| NULLPTRCHK(envlist,"fm_daemonctl"); | NULLPTRCHK(envlist,"fm_daemonctl"); |
| ef = fopen (env_config_file, "r"); | if ((ef = fopen (env_config_file, "r")) == NULL) { |
| logprintf (FM_LOG_FATAL, "fm_daemonctl: failed to open %s (error code %d [%s])", env_config_file, errno, strerror (errno)); | |
| } | |
| while (fgets (line, 254, ef)) { | while (fgets (line, 254, ef)) { |
| if (line[0] == '[') { | if (line[0] == '[') { |
| strncpy (env, &(line[1]), 255); | strncpy (env, &(line[1]), 255); |
| Line 1547 void fm_configure (void) | Line 1566 void fm_configure (void) |
| char sysgbl[4096]; | char sysgbl[4096]; |
| char usrrtn[4096]; | char usrrtn[4096]; |
| char usrgbl[4096]; | char usrgbl[4096]; |
| char jnldir[4096]; | char jnldir[4096]; |
| char jnlfile[4096]; | char jnlfile[4096]; |
| char jnlmode[4]; | char jnlmode[4]; |