Fix segfault in mhstore
[mmh] / uip / mhparse.c
index da19123..b0876eb 100644 (file)
@@ -552,11 +552,17 @@ incl_name_value(unsigned char *buf, char *name, char *value) {
 */
 char *
 extract_name_value(char *name_suffix, char *value) {
-       char *extracted_name_value = value;
-       char *name_suffix_plus_quote = concat(name_suffix, "=\"", NULL);
-       char *name_suffix_equals = strstr(value, name_suffix_plus_quote);
+       char *extracted_name_value;
+       char *name_suffix_plus_quote;
+       char *name_suffix_equals;
        char *cp;
 
+       if (!value) {
+               return value;
+       }
+       extracted_name_value = value;
+       name_suffix_plus_quote = concat(name_suffix, "=\"", NULL);
+       name_suffix_equals = strstr(value, name_suffix_plus_quote);
        mh_free0(&name_suffix_plus_quote);
        if (name_suffix_equals) {
                char *name_suffix_begin;