(/home/sate/Testcases/c/cve/wireshark-1.2.0/rawshark.c) |
| |
| 1504 | | | parse_field_string_format(gchar *format) { |
| 1505 | | | GString *plain_s = g_string_new(""); |
| 1506 | | | size_t len; |
| 1507 | | | size_t pos = 0; |
| 1508 | | | |
| 1509 | | | if (!format) { |
| 1510 | | | return FALSE; |
| 1511 | | | } |
| 1512 | | | |
| 1513 | | | len = strlen(format); |
| 1514 | | | g_ptr_array_set_size(string_fmts, 0); |
| 1515 | | | |
| 1516 | | | while (pos < len) { |
| 1517 | | | if (format[pos] == '%') { |
| 1518 | | | if (pos >= len) { |
| 1519 | | | return FALSE; |
Unreachable Data Flow
The highlighted code will not execute under any circumstances. This may be because of: |
|
| 1520 | | | } |
| 1521 | | | pos++; |
| 1522 | | | if (plain_s->len > 0) { |
| 1523 | | | add_string_fmt(SF_NONE, plain_s->str); |
| 1524 | | | g_string_truncate(plain_s, 0); |
| 1525 | | | } |
| 1526 | | | switch (format[pos]) { |
| 1527 | | | case 'D': |
| 1528 | | | add_string_fmt(SF_NAME, NULL); |
| 1529 | | | break; |
| 1530 | | | case 'N': |
| 1531 | | | add_string_fmt(SF_NUMVAL, NULL); |
| 1532 | | | break; |
| 1533 | | | case 'S': |
| 1534 | | | add_string_fmt(SF_STRVAL, NULL); |
| 1535 | | | break; |
| 1536 | | | case '%': |
| 1537 | | | g_string_append_c(plain_s, '%');
x /usr/include/glib-2.0/glib/gstring.h |
| |
156 | #define g_string_append_c(gstr,c) g_string_append_c_inline (gstr, c) |
| |
|
| 1538 | | | break; |
| 1539 | | | default: |
| 1540 | | | return FALSE; |
| 1541 | | | } |
| 1542 | | | } else { |
| 1543 | | | g_string_append_c(plain_s, format[pos]);
x /usr/include/glib-2.0/glib/gstring.h |
| |
156 | #define g_string_append_c(gstr,c) g_string_append_c_inline (gstr, c) |
| |
|
| 1544 | | | } |
| 1545 | | | pos++; |
| 1546 | | | } |
| 1547 | | | |
| 1548 | | | if (plain_s->len > 0) { |
| 1549 | | | add_string_fmt(SF_NONE, plain_s->str); |
| 1550 | | | } |
| 1551 | | | g_string_free(plain_s, TRUE); |
| 1552 | | | |
| 1553 | | | return TRUE; |
| 1554 | | | } |
| |