@@ -5533,6 +5533,12 @@ chart_series_set_pattern(lxw_chart_series *series, lxw_chart_pattern *pattern)
55335533void
55345534chart_series_set_marker_type (lxw_chart_series * series , uint8_t type )
55355535{
5536+ if (type > LXW_CHART_MARKER_PLUS ) {
5537+ LXW_WARN_FORMAT1
5538+ ("chart_series_set_marker_type(): invalid marker type: %d" , type );
5539+ return ;
5540+ }
5541+
55365542 if (!series -> marker ) {
55375543 lxw_chart_marker * marker = calloc (1 , sizeof (struct lxw_chart_marker ));
55385544 RETURN_VOID_ON_MEM_ERROR (marker );
@@ -5548,6 +5554,13 @@ chart_series_set_marker_type(lxw_chart_series *series, uint8_t type)
55485554void
55495555chart_series_set_marker_size (lxw_chart_series * series , uint8_t size )
55505556{
5557+ if (size < 2 || size > 72 ) {
5558+ LXW_WARN_FORMAT1
5559+ ("chart_series_set_marker_size(): marker size '%d' outside Excel range: 2 <= size <= 72" ,
5560+ size );
5561+ return ;
5562+ }
5563+
55515564 if (!series -> marker ) {
55525565 lxw_chart_marker * marker = calloc (1 , sizeof (struct lxw_chart_marker ));
55535566 RETURN_VOID_ON_MEM_ERROR (marker );
@@ -5774,6 +5787,13 @@ chart_series_set_labels_custom(lxw_chart_series *series,
57745787void
57755788chart_series_set_labels_separator (lxw_chart_series * series , uint8_t separator )
57765789{
5790+ if (separator > LXW_CHART_LABEL_SEPARATOR_SPACE ) {
5791+ LXW_WARN_FORMAT1
5792+ ("chart_series_set_labels_separator(): invalid label separator: %d" ,
5793+ separator );
5794+ return ;
5795+ }
5796+
57775797 series -> has_labels = LXW_TRUE ;
57785798 series -> label_separator = separator ;
57795799}
@@ -5784,6 +5804,13 @@ chart_series_set_labels_separator(lxw_chart_series *series, uint8_t separator)
57845804void
57855805chart_series_set_labels_position (lxw_chart_series * series , uint8_t position )
57865806{
5807+ if (position > LXW_CHART_LABEL_POSITION_BEST_FIT ) {
5808+ LXW_WARN_FORMAT1
5809+ ("chart_series_set_labels_position(): invalid label position: %d" ,
5810+ position );
5811+ return ;
5812+ }
5813+
57875814 series -> has_labels = LXW_TRUE ;
57885815 series -> show_labels_value = LXW_TRUE ;
57895816
@@ -5905,6 +5932,13 @@ void
59055932chart_series_set_trendline (lxw_chart_series * series , uint8_t type ,
59065933 uint8_t value )
59075934{
5935+ if (type > LXW_CHART_TRENDLINE_TYPE_AVERAGE ) {
5936+ LXW_WARN_FORMAT1
5937+ ("chart_series_set_trendline(): invalid trendline type: %d" ,
5938+ type );
5939+ return ;
5940+ }
5941+
59085942 if (type == LXW_CHART_TRENDLINE_TYPE_POLY
59095943 || type == LXW_CHART_TRENDLINE_TYPE_AVERAGE ) {
59105944
@@ -6336,6 +6370,12 @@ chart_axis_off(lxw_chart_axis *axis)
63366370void
63376371chart_axis_set_position (lxw_chart_axis * axis , uint8_t position )
63386372{
6373+ if (position > LXW_CHART_AXIS_POSITION_BETWEEN ) {
6374+ LXW_WARN_FORMAT1
6375+ ("chart_axis_set_position(): invalid position: %d" , position );
6376+ return ;
6377+ }
6378+
63396379 LXW_WARN_CAT_AND_DATE_AXIS_ONLY ("chart_axis_set_position" );
63406380
63416381 axis -> position_axis = position ;
@@ -6347,6 +6387,13 @@ chart_axis_set_position(lxw_chart_axis *axis, uint8_t position)
63476387void
63486388chart_axis_set_label_position (lxw_chart_axis * axis , uint8_t position )
63496389{
6390+ if (position > LXW_CHART_AXIS_LABEL_POSITION_NONE ) {
6391+ LXW_WARN_FORMAT1
6392+ ("chart_axis_set_label_position(): invalid label position: %d" ,
6393+ position );
6394+ return ;
6395+ }
6396+
63506397 axis -> label_position = position ;
63516398}
63526399
@@ -6393,6 +6440,13 @@ chart_axis_set_log_base(lxw_chart_axis *axis, uint16_t log_base)
63936440void
63946441chart_axis_set_major_tick_mark (lxw_chart_axis * axis , uint8_t type )
63956442{
6443+ if (type > LXW_CHART_AXIS_TICK_MARK_CROSSING ) {
6444+ LXW_WARN_FORMAT1
6445+ ("chart_axis_set_major_tick_mark(): invalid tick mark type: %d" ,
6446+ type );
6447+ return ;
6448+ }
6449+
63966450 axis -> major_tick_mark = type ;
63976451}
63986452
@@ -6402,6 +6456,13 @@ chart_axis_set_major_tick_mark(lxw_chart_axis *axis, uint8_t type)
64026456void
64036457chart_axis_set_minor_tick_mark (lxw_chart_axis * axis , uint8_t type )
64046458{
6459+ if (type > LXW_CHART_AXIS_TICK_MARK_CROSSING ) {
6460+ LXW_WARN_FORMAT1
6461+ ("chart_axis_set_minor_tick_mark(): invalid tick mark type: %d" ,
6462+ type );
6463+ return ;
6464+ }
6465+
64056466 axis -> minor_tick_mark = type ;
64066467}
64076468
@@ -6457,6 +6518,13 @@ chart_axis_set_minor_unit(lxw_chart_axis *axis, double unit)
64576518void
64586519chart_axis_set_display_units (lxw_chart_axis * axis , uint8_t units )
64596520{
6521+ if (units > LXW_CHART_AXIS_UNITS_TRILLIONS ) {
6522+ LXW_WARN_FORMAT1
6523+ ("chart_axis_set_display_units(): invalid display units: %d" ,
6524+ units );
6525+ return ;
6526+ }
6527+
64606528 LXW_WARN_VALUE_AXIS_ONLY ("chart_axis_set_display_units" );
64616529
64626530 axis -> display_units = units ;
@@ -6538,6 +6606,13 @@ chart_axis_minor_gridlines_set_line(lxw_chart_axis *axis,
65386606void
65396607chart_axis_set_label_align (lxw_chart_axis * axis , uint8_t align )
65406608{
6609+ if (align > LXW_CHART_AXIS_LABEL_ALIGN_RIGHT ) {
6610+ LXW_WARN_FORMAT1
6611+ ("chart_axis_set_label_align(): invalid label alignment: %d" ,
6612+ align );
6613+ return ;
6614+ }
6615+
65416616 axis -> label_align = align ;
65426617}
65436618
@@ -6624,6 +6699,13 @@ chart_title_set_overlay(lxw_chart *self, uint8_t overlay)
66246699void
66256700chart_legend_set_position (lxw_chart * self , uint8_t position )
66266701{
6702+ if (position > LXW_CHART_LEGEND_OVERLAY_TOP_RIGHT ) {
6703+ LXW_WARN_FORMAT1
6704+ ("chart_legend_set_position(): invalid legend position: %d" ,
6705+ position );
6706+ return ;
6707+ }
6708+
66276709 self -> legend .position = position ;
66286710}
66296711
@@ -6910,6 +6992,13 @@ chart_set_series_overlap(lxw_chart *self, int8_t overlap)
69106992void
69116993chart_show_blanks_as (lxw_chart * self , uint8_t option )
69126994{
6995+ if (option > LXW_CHART_BLANKS_AS_CONNECTED ) {
6996+ LXW_WARN_FORMAT1
6997+ ("chart_show_blanks_as(): invalid blank display option: %d" ,
6998+ option );
6999+ return ;
7000+ }
7001+
69137002 self -> show_blanks_as = option ;
69147003}
69157004
0 commit comments