Changeset 3648

Show
Ignore:
Timestamp:
09/08/08 14:52:51 (3 months ago)
Author:
prahal
Message:

Do not strcmp on frequency if NULL . My bad. Fix segfault.

Files:
1 modified

Legend:

Unmodified
Added
Removed
  • format-plugins/vformat/src/xmlformat-recurrence.c

    r2938 r3648  
    238238 
    239239        /* get frequency: only D(1), W(2), MP(3), MD(4), YD(5) and YM(6) are allowed */ 
    240         if (!strcmp(frequency, "DAILY")) { 
    241                 frequency_id = "D"; 
    242         } else if (!strcmp(frequency, "WEEKLY")) { 
    243                 frequency_id = "W"; 
    244         } else if (!strcmp(frequency, "MONTHLY") && frequency_state_id == 3) { 
    245                 frequency_id = "MP"; 
    246         } else if (!strcmp(frequency, "MONTHLY") && frequency_state_id == 4) { 
    247                 frequency_id = "MD"; 
    248         } else if (!strcmp(frequency, "YEARLY") && frequency_state_id == 5) { 
    249                 frequency_id = "YD"; 
    250         } else if (!strcmp(frequency, "YEARLY") && frequency_state_id == 6) { 
    251                 frequency_id = "YM"; 
     240        if (frequency) { 
     241                if (!strcmp(frequency, "DAILY")) { 
     242                        frequency_id = "D"; 
     243                } else if (!strcmp(frequency, "WEEKLY")) { 
     244                        frequency_id = "W"; 
     245                } else if (!strcmp(frequency, "MONTHLY") && frequency_state_id == 3) { 
     246                        frequency_id = "MP"; 
     247                } else if (!strcmp(frequency, "MONTHLY") && frequency_state_id == 4) { 
     248                        frequency_id = "MD"; 
     249                } else if (!strcmp(frequency, "YEARLY") && frequency_state_id == 5) { 
     250                        frequency_id = "YD"; 
     251                } else if (!strcmp(frequency, "YEARLY") && frequency_state_id == 6) { 
     252                        frequency_id = "YM"; 
     253                } else { 
     254                        osync_trace(TRACE_ERROR, "invalid frequency"); 
     255                        return NULL; 
     256                } 
    252257        } else { 
    253                 osync_trace(TRACE_INTERNAL, "invalid or missing frequency"); 
     258                osync_trace(TRACE_INTERNAL, "missing frequency"); 
    254259                return NULL; 
    255260        }