*/
#define _GNU_SOURCE
+#define _LGPL_SOURCE
#include <limits.h>
#include <stdio.h>
#include <stdlib.h>
#include <sys/types.h>
#include <unistd.h>
-#include <common/error.h>
+#include <common/common.h>
#include <common/utils.h>
#include "conf.h"
DBG("Removing %s\n", config_path);
ret = remove(config_path);
if (ret < 0) {
- perror("remove config file");
+ PERROR("remove config file");
}
end:
free(config_path);
int ret;
FILE *fp;
char var[NAME_MAX], *session_name;
+#if (NAME_MAX == 255)
+#define NAME_MAX_SCANF_IS_A_BROKEN_API "254"
+#endif
- session_name = malloc(NAME_MAX);
+ session_name = zmalloc(NAME_MAX);
if (session_name == NULL) {
ERR("Out of memory");
goto error;
}
while (!feof(fp)) {
- if ((ret = fscanf(fp, "%[^'=']=%s\n", var, session_name)) != 2) {
+ if ((ret = fscanf(fp, "%" NAME_MAX_SCANF_IS_A_BROKEN_API
+ "[^'=']=%" NAME_MAX_SCANF_IS_A_BROKEN_API "s\n",
+ var, session_name)) != 2) {
if (ret == -1) {
ERR("Missing session=NAME in config file.");
goto error_close;