]> err.no Git - util-linux/commitdiff
lib: fix mange() and unmangle() to handle NULL
authorKarel Zak <kzak@redhat.com>
Thu, 5 Aug 2010 11:14:58 +0000 (13:14 +0200)
committerKarel Zak <kzak@redhat.com>
Mon, 3 Jan 2011 11:28:40 +0000 (12:28 +0100)
Signed-off-by: Karel Zak <kzak@redhat.com>
lib/mangle.c

index c40e67badbdc4f5752dc9b2ed4bcbb92149e455e..e320cfb7c63f9db8027cb3815780102697c8004c 100644 (file)
@@ -21,6 +21,9 @@ char *mangle(const char *s)
        char *ss, *sp;
        int n;
 
+       if (!s)
+               return NULL;
+
        n = strlen(s);
        ss = sp = malloc(4*n+1);
        if (!sp)
@@ -48,6 +51,9 @@ void unmangle_to_buffer(const char *s, char *buf, size_t len)
 {
        size_t sz = 0;
 
+       if (!s)
+               return;
+
        while(*s && sz < len - 1) {
                if (*s == '\\' && sz + 4 < len - 1 && isoctal(s[1]) &&
                    isoctal(s[2]) && isoctal(s[3])) {
@@ -79,6 +85,9 @@ char *unmangle(const char *s)
        const char *end;
        size_t sz;
 
+       if (!s)
+               return NULL;
+
        end = skip_nonspaces(s);
        sz = end - s + 1;