Upstream-Status: Denied [no desire for uclibc support] Signed-off-by: Khem Raj Index: systemd-196/src/fsck/fsck.c =================================================================== --- systemd-196.orig/src/fsck/fsck.c 2012-07-26 03:45:14.000000000 -0700 +++ systemd-196/src/fsck/fsck.c 2013-01-21 16:10:46.807537608 -0800 @@ -36,6 +36,8 @@ #include "bus-errors.h" #include "virt.h" +#include "config.h" + static bool arg_skip = false; static bool arg_force = false; static bool arg_show_progress = false; @@ -193,9 +195,16 @@ char *device; double p; usec_t t; - +#ifdef HAVE_MSFORMAT if (fscanf(f, "%i %lu %lu %ms", &pass, &cur, &max, &device) != 4) - break; +#else + device = malloc(257); + if (fscanf(f, "%i %lu %lu %256s", &pass, &cur, &max, device) != 4) { + free(device); + } + +#endif /* HAVE_MSFORMAT */ + break; /* Only show one progress counter at max */ if (!locked) { Index: systemd-196/src/core/swap.c =================================================================== --- systemd-196.orig/src/core/swap.c 2012-10-29 19:40:42.000000000 -0700 +++ systemd-196/src/core/swap.c 2013-01-21 16:15:11.751544181 -0800 @@ -41,6 +41,8 @@ #include "path-util.h" #include "virt.h" +#include "config.h" + static const UnitActiveState state_translation_table[_SWAP_STATE_MAX] = { [SWAP_DEAD] = UNIT_INACTIVE, [SWAP_ACTIVATING] = UNIT_ACTIVATING, @@ -1059,6 +1061,7 @@ char *dev = NULL, *d; int prio = 0, k; +#ifdef HAVE_MSFORMAT k = fscanf(m->proc_swaps, "%ms " /* device/file */ "%*s " /* type of swap */ @@ -1066,6 +1069,16 @@ "%*s " /* used */ "%i\n", /* priority */ &dev, &prio); +#else + dev = malloc(257); + k = fscanf(m->proc_swaps, + "%256s "/* device/file */ + "%*s " /* type of swap */ + "%*s " /* swap size */ + "%*s " /* used */ + "%i\n", /* priority */ + dev, &prio); +#endif /* HAVE_MSFORMAT */ if (k != 2) { if (k == EOF) break; Index: systemd-196/src/core/mount-setup.c =================================================================== --- systemd-196.orig/src/core/mount-setup.c 2012-11-09 06:55:35.000000000 -0800 +++ systemd-196/src/core/mount-setup.c 2013-01-21 16:10:46.807537608 -0800 @@ -28,6 +28,7 @@ #include #include #include +#include #include "mount-setup.h" #include "dev-setup.h" @@ -42,6 +43,8 @@ #include "missing.h" #include "virt.h" +#include "config.h" + #ifndef TTY_GID #define TTY_GID 5 #endif @@ -224,9 +227,12 @@ for (;;) { char *controller; int enabled = 0; - +#ifdef HAVE_MSFORMAT if (fscanf(f, "%ms %*i %*i %i", &controller, &enabled) != 2) { - +#else + controller = malloc(257); + if (fscanf(f, "%256s %*i %*i %i", controller, &enabled) != 2) { +#endif /* HAVE_MSFORMAT */ if (feof(f)) break; Index: systemd-196/src/core/mount.c =================================================================== --- systemd-196.orig/src/core/mount.c 2012-10-22 16:53:02.000000000 -0700 +++ systemd-196/src/core/mount.c 2013-01-21 16:10:46.811537609 -0800 @@ -41,6 +41,8 @@ #include "exit-status.h" #include "def.h" +#include "config.h" + static const UnitActiveState state_translation_table[_MOUNT_STATE_MAX] = { [MOUNT_DEAD] = UNIT_INACTIVE, [MOUNT_MOUNTING] = UNIT_ACTIVATING, @@ -1538,7 +1540,7 @@ int k; device = path = options = options2 = fstype = d = p = o = NULL; - +#ifdef HAVE_MSFORMAT if ((k = fscanf(m->proc_self_mountinfo, "%*s " /* (1) mount id */ "%*s " /* (2) parent id */ @@ -1557,7 +1559,31 @@ &fstype, &device, &options2)) != 5) { - +#else + path = malloc(257); + options = malloc(257); + fstype = malloc(257); + device = malloc(257); + options2 = malloc(257); + if ((k = fscanf(m->proc_self_mountinfo, + "%*s " /* (1) mount id */ + "%*s " /* (2) parent id */ + "%*s " /* (3) major:minor */ + "%*s " /* (4) root */ + "%256s " /* (5) mount point */ + "%256s" /* (6) mount options */ + "%*[^-]" /* (7) optional fields */ + "- " /* (8) separator */ + "%256s " /* (9) file system type */ + "%256s" /* (10) mount source */ + "%256s" /* (11) mount options 2 */ + "%*[^\n]", /* some rubbish at the end */ + path, + options, + fstype, + device, + options2)) != 5) { +#endif /* HAVE_MSFORMAT */ if (k == EOF) break; Index: systemd-196/src/core/umount.c =================================================================== --- systemd-196.orig/src/core/umount.c 2012-11-16 09:32:41.000000000 -0800 +++ systemd-196/src/core/umount.c 2013-01-21 16:10:46.811537609 -0800 @@ -36,6 +36,8 @@ #include "util.h" #include "virt.h" +#include "config.h" + typedef struct MountPoint { char *path; dev_t devnum; @@ -75,7 +77,7 @@ MountPoint *m; path = p = NULL; - +#ifdef HAVE_MSFORMAT if ((k = fscanf(proc_self_mountinfo, "%*s " /* (1) mount id */ "%*s " /* (2) parent id */ @@ -90,6 +92,23 @@ "%*s" /* (11) mount options 2 */ "%*[^\n]", /* some rubbish at the end */ &path)) != 1) { +#else + path = malloc(257); + if ((k = fscanf(proc_self_mountinfo, + "%*s " /* (1) mount id */ + "%*s " /* (2) parent id */ + "%*s " /* (3) major:minor */ + "%*s " /* (4) root */ + "%256s " /* (5) mount point */ + "%*s" /* (6) mount options */ + "%*[^-]" /* (7) optional fields */ + "- " /* (8) separator */ + "%*s " /* (9) file system type */ + "%*s" /* (10) mount source */ + "%*s" /* (11) mount options 2 */ + "%*[^\n]", /* some rubbish at the end */ + path)) != 1) { +#endif /* HAVE_MSFORMAT */ if (k == EOF) break; @@ -151,7 +170,7 @@ MountPoint *swap; char *dev = NULL, *d; int k; - +#ifdef HAVE_MSFORMAT if ((k = fscanf(proc_swaps, "%ms " /* device/file */ "%*s " /* type of swap */ @@ -159,7 +178,16 @@ "%*s " /* used */ "%*s\n", /* priority */ &dev)) != 1) { - +#else + dev = malloc(257); + if ((k = fscanf(proc_swaps, + "%256s " /* device/file */ + "%*s " /* type of swap */ + "%*s " /* swap size */ + "%*s " /* used */ + "%*s\n", /* priority */ + dev)) != 1) { +#endif /* HAVE_MSFORMAT */ if (k == EOF) break; Index: systemd-196/src/shared/socket-util.c =================================================================== --- systemd-196.orig/src/shared/socket-util.c 2012-11-14 13:21:15.000000000 -0800 +++ systemd-196/src/shared/socket-util.c 2013-01-21 16:10:46.811537609 -0800 @@ -39,6 +39,8 @@ #include "socket-util.h" #include "missing.h" +#include "config.h" + int socket_address_parse(SocketAddress *a, const char *s) { int r; char *e, *n; @@ -202,8 +204,16 @@ a->type = SOCK_RAW; errno = 0; - if (sscanf(s, "%ms %u", &sfamily, &group) < 1) +#ifdef HAVE_MSFORMAT + if (sscanf(s, "%ms %u", &sfamily, &group) < 1) + return errno ? -errno : -EINVAL; +#else + sfamily = malloc(257); + if (sscanf(s, "%256s %u", sfamily, &group) < 1) { + free(sfamily); return errno ? -errno : -EINVAL; + } +#endif /* HAVE_MSFORMAT */ family = netlink_family_from_string(sfamily); if (family < 0) Index: systemd-196/src/tmpfiles/tmpfiles.c =================================================================== --- systemd-196.orig/src/tmpfiles/tmpfiles.c 2012-10-23 16:06:30.000000000 -0700 +++ systemd-196/src/tmpfiles/tmpfiles.c 2013-01-21 16:10:46.811537609 -0800 @@ -51,6 +51,8 @@ #include "conf-files.h" #include "capability.h" +#include "config.h" + /* This reads all files listed in /etc/tmpfiles.d/?*.conf and creates * them in the file system. This is intended to be used to create * properly owned directories beneath /tmp, /var/tmp, /run, which are @@ -990,7 +992,7 @@ i = new0(Item, 1); if (!i) return log_oom(); - +#ifdef HAVE_MSFORMAT if (sscanf(buffer, "%c " "%ms " @@ -1006,6 +1008,28 @@ &group, &age, &n) < 2) { +#else + i->path = malloc(257); + mode = malloc(257); + user = malloc(257); + group = malloc(257); + age = malloc(257); + if (sscanf(buffer, + "%c " + "%256s " + "%256s " + "%256s " + "%256s " + "%256s " + "%n", + &type, + i->path, + mode, + user, + group, + age, + &n) < 2) { +#endif /* HAVE_MSFORMAT */ log_error("[%s:%u] Syntax error.", fname, line); r = -EIO; goto finish; Index: systemd-196/src/cryptsetup/cryptsetup-generator.c =================================================================== --- systemd-196.orig/src/cryptsetup/cryptsetup-generator.c 2012-08-08 14:53:24.000000000 -0700 +++ systemd-196/src/cryptsetup/cryptsetup-generator.c 2013-01-21 16:10:46.811537609 -0800 @@ -30,6 +30,8 @@ #include "virt.h" #include "strv.h" +#include "config.h" + static const char *arg_dest = "/tmp"; static bool arg_enabled = true; static bool arg_read_crypttab = true; @@ -421,8 +423,15 @@ l = strstrip(line); if (*l == '#' || *l == 0) continue; - +#ifdef HAVE_MSFORMAT k = sscanf(l, "%ms %ms %ms %ms", &name, &device, &password, &options); +#else + name = malloc(257); + device = malloc(257); + password = malloc(257); + options = malloc(257); + k = sscanf(l, "%256s %256s %256s %256s", name, device, password, options); +#endif /* HAVE_MSFORMAT */ if (k < 2 || k > 4) { log_error("Failed to parse /etc/crypttab:%u, ignoring.", n); r = EXIT_FAILURE;