Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

ta/alloca #722

Merged
merged 2 commits into from
Oct 30, 2022
Merged

ta/alloca #722

merged 2 commits into from
Oct 30, 2022

Conversation

ThomasAdam
Copy link
Member

  • deprecate {Pixmap,Icon}Path
  • WIP: war on alloca()

@ThomasAdam ThomasAdam added this to the 1.0.6 milestone Oct 16, 2022
@ThomasAdam ThomasAdam self-assigned this Oct 16, 2022
@ThomasAdam ThomasAdam added type:bug Something's broken! type:breaking Issue is not backwards-compatible and will break configs/build labels Oct 16, 2022
@ThomasAdam
Copy link
Member Author

@omar-polo

FYI -- I've started to declare war on alloca() -- I've not tested this, just checked it compiles. I may well have missed some alloca() calls, and/pr broken functionality.

But if you wanted to use this as a starter, feel free!

libs/Bindings.c Outdated
s = alloca(strlen(key) + 1);
strcpy(s, key);
snprintf(s, sizeof(key), key);
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This bit reads wrong: it writes to an un-initialized pointer s. I believe it should be converted to either strdup or a local buffer (i.e. declaring s as char s[32] or any other sensible maximum size.)

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Oops. You're entirely correct. Will fix.

@ThomasAdam ThomasAdam force-pushed the ta/alloca branch 2 times, most recently from 23ae04c to 53abe91 Compare October 25, 2022 20:32
@ThomasAdam
Copy link
Member Author

OK -- that's all the occurrences, except for some YACC thing in FvwmScript which I am not fussed about. I've given this a quick test, and fvwm3 hasn't segfaulted yet...

ImagePath has been around for so long -- remove these two obsolete
commands, and no longer provide compat shims for them.
alloca() has never been part of the ANSI-C standard, and its use in fvwm
has always been limited.

Rather than keep this around, switch to use malloc() and similar.
@ThomasAdam ThomasAdam merged commit 82935f6 into master Oct 30, 2022
@ThomasAdam ThomasAdam deleted the ta/alloca branch October 30, 2022 20:59
netbsd-srcmastr pushed a commit to NetBSD/pkgsrc that referenced this pull request Feb 15, 2023
# Changelog

## [1.0.6a](https://github.com/fvwmorg/fvwm3/tree/1.0.6a) (2023-01-16)

## What's Changed
### Other Changes
* dist: doc: include all doc sources by @ThomasAdam in fvwmorg/fvwm3#806


**Full Changelog**: fvwmorg/fvwm3@1.0.6...1.0.6a
## [1.0.6](https://github.com/fvwmorg/fvwm3/tree/1.0.6) (2023-01-14)

## What's Changed
### Breaking Changes
* remove fvwm-config by @ThomasAdam in fvwmorg/fvwm3#731
* ta/alloca by @ThomasAdam in fvwmorg/fvwm3#722
* deprecate color commands by @ThomasAdam in fvwmorg/fvwm3#738
* Ensure a default colorset is always configured. by @somiaj in fvwmorg/fvwm3#740
* commands: remove DefaultColors & DefaultColorset by @ThomasAdam in fvwmorg/fvwm3#749
* MenuStyle: Remove Depreciated options and non colorset  by @somiaj in fvwmorg/fvwm3#757
### Enhancements
* decor: allow window borders separate colours by @ThomasAdam in fvwmorg/fvwm3#730
* Update Move shuffle logic to jump to next monitor by @somiaj in fvwmorg/fvwm3#742
* conditional: screen: simplify logic by @ThomasAdam in fvwmorg/fvwm3#746
* Allow SidePic in default-config. by @somiaj in fvwmorg/fvwm3#762
* Move shuffle, ensure window inside working area. by @somiaj in fvwmorg/fvwm3#767
* Translucent Menus by @somiaj in fvwmorg/fvwm3#760
* Updates to FvwmPager scaling math to improve visual aspects due to rounding errors. by @somiaj in fvwmorg/fvwm3#790
### Other Changes
* doc: don't install fvwm3_manpage_source by @ThomasAdam in fvwmorg/fvwm3#712
* Rename .stalonetrayrc to stalonetrayrc by @wfp5p in fvwmorg/fvwm3#713
* Fix background resetting in default-config by @somiaj in fvwmorg/fvwm3#714
* desk_add: fix window counting by @ThomasAdam in fvwmorg/fvwm3#716
* remove unused variable by @omar-polo in fvwmorg/fvwm3#718
* two clock_t and time_t casts for portability by @omar-polo in fvwmorg/fvwm3#719
* changing sprintf -> snprintf & co by @omar-polo in fvwmorg/fvwm3#720
* DesktopConfiguration: send status_send() by @ThomasAdam in fvwmorg/fvwm3#724
* FvwmScript.c: fix wrong size of TabCom array by @slazav in fvwmorg/fvwm3#725
* gotodesk: simplify logic for shared/global by @ThomasAdam in fvwmorg/fvwm3#727
* Add a multicolor border example to default-config by @somiaj in fvwmorg/fvwm3#732
* Some pedantic clean up of whitespace and add missing translation strings. by @somiaj in fvwmorg/fvwm3#733
* Tweak HilightBorderColorset by @lgsobalvarro in fvwmorg/fvwm3#737
* docs: remove obsolete GNOME references by @ThomasAdam in fvwmorg/fvwm3#739
* MWMBorder: fix calculation by @ThomasAdam in fvwmorg/fvwm3#743
* Don't set border colorsets by default. by @somiaj in fvwmorg/fvwm3#747
* style: silence warning for unconsumed string by @ThomasAdam in fvwmorg/fvwm3#745
* Add split manpages to default-config. by @somiaj in fvwmorg/fvwm3#750
* FvwnIconMan use font as fallback for tips font. by @somiaj in fvwmorg/fvwm3#751
* FvwmIconMan: Don't chop window display string by @somiaj in fvwmorg/fvwm3#752
* fvwm-config: remove .in file by @ThomasAdam in fvwmorg/fvwm3#758
* FvwmPager make mini windows always round down. by @somiaj in fvwmorg/fvwm3#756
* Clean up some build warnings by @somiaj in fvwmorg/fvwm3#759
* Move shuffle modifications. by @somiaj in fvwmorg/fvwm3#764
* borders: treat 0 pixels as 1 pixel border by @ThomasAdam in fvwmorg/fvwm3#765
* AddWindow: don't crash reparenting by @ThomasAdam in fvwmorg/fvwm3#786
* ModuleSynchronous: don't segfault on free() by @ThomasAdam in fvwmorg/fvwm3#787
* FvwmIconMan: fix segfault in initialisation by @ThomasAdam in fvwmorg/fvwm3#800
* randr: quit when no screens found & not active by @ThomasAdam in fvwmorg/fvwm3#801

## New Contributors
* @wfp5p made their first contribution in fvwmorg/fvwm3#713

**Full Changelog**: fvwmorg/fvwm3@1.0.5...1.0.6
## [1.0.5](https://github.com/fvwmorg/fvwm3/tree/1.0.5) (2022-09-28)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
type:breaking Issue is not backwards-compatible and will break configs/build type:bug Something's broken!
Projects
Status: Done
Development

Successfully merging this pull request may close these issues.

2 participants