evil: avoid SIGSEV while using strlen function
authorYeshwanth Reddivari <r.yeshwanth@samsung.com>
Tue, 10 Nov 2015 00:10:59 +0000 (16:10 -0800)
committerCedric BAIL <cedric@osg.samsung.com>
Tue, 10 Nov 2015 00:11:01 +0000 (16:11 -0800)
Summary: Assertion of (fp!=NULL) should be done before passing fp to strlen funcion

Reviewers: singh.amitesh, Hermet, alok25, mvsovani, vtorri

Subscribers: sachin.dev, cedric

Differential Revision: https://phab.enlightenment.org/D3274

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
src/lib/evil/regex/regcomp.c

index 080d292..c1b7850 100644 (file)
@@ -1179,9 +1179,10 @@ register cset *cs;
 register char *cp;
 {
         register char *fp = mcfind(cs, cp);
-        register size_t len = strlen(fp);
+        register size_t len;
 
         assert(fp != NULL);
+        len = strlen(fp);
         (void) memmove(fp, fp + len + 1,
                                 cs->smultis - (fp + len + 1 - cs->multis));
         cs->smultis -= len;