• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

mgreter / libsass
79%
master: 85%

Build:
Build:
LAST BUILD BRANCH: move-ci-from-travis-to-github-actions
DEFAULT BRANCH: master
Repo Added 04 Oct 2014 08:38PM UTC
Files 144
Badge
Embed â–¾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

LAST BUILD ON BRANCH bugfix/issue_2046
branch: bugfix/issue_2046
CHANGE BRANCH
x
Reset
  • bugfix/issue_2046
  • 3.4-stable
  • 3.4.0
  • Branch_3.4.7
  • CI/check-nested-bottom-only
  • CI/test
  • api/c-interface
  • api/protect-from-malloc-error
  • bigfix/issue_1765
  • bugfix/1969-calc-prelexer
  • bugfix/2640-selector-nest-explosion
  • bugfix/2884-attribute-selector-equality
  • bugfix/2980-fix-unary-expr-eval
  • bugfix/2994-endless-extend-loop
  • bugfix/2998-extend-compound-warning
  • bugfix/3006-extend-with-parent
  • bugfix/3014-mem-leak-in-permutate
  • bugfix/3018-nested-sel-nl-ws
  • bugfix/3019-extend-error-src-lifetime
  • bugfix/3046-selector-schema-chroot
  • bugfix/C-API-fixup
  • bugfix/MSVC-debug-assertion
  • bugfix/arglist-in-each
  • bugfix/ast-compare
  • bugfix/attribute-selector-unify
  • bugfix/c-api-copy-options
  • bugfix/check-nesting-all-includes
  • bugfix/ci-fail-ruby-dep
  • bugfix/ci-mac-shared-tests
  • bugfix/color-functions
  • bugfix/compare-doubles-epsilon
  • bugfix/compiler-compat
  • bugfix/compiler-warning
  • bugfix/compound-selector-merging
  • bugfix/css-newline-escape
  • bugfix/ctx-options-leak
  • bugfix/cwd-goes-missing
  • bugfix/delay-unary-expressions
  • bugfix/each-parent-selector-list
  • bugfix/edge-case-crashes
  • bugfix/endless-loop-selector-list-compare
  • bugfix/err-mixin-wo-content
  • bugfix/err-na-fn-w-kwdarg
  • bugfix/error-check-in-for-loop
  • bugfix/error-invalid-parent-selector
  • bugfix/error-messages
  • bugfix/error-reporting
  • bugfix/escape-seq-parsing
  • bugfix/eval-map-segfault
  • bugfix/extend-recursion
  • bugfix/extend-regression
  • bugfix/extend-regression-2
  • bugfix/feature-block-indent
  • bugfix/file-content-buffer-overread
  • bugfix/flag-propagation
  • bugfix/function-call-invocation
  • bugfix/functional-schema-parsing
  • bugfix/has-placeholder-flag
  • bugfix/hex-color-parsing
  • bugfix/hyphens-after-interpolation
  • bugfix/import-errors
  • bugfix/importer-c-api-path-handling
  • bugfix/interpolation
  • bugfix/invalid-duplicate-map-key
  • bugfix/is-printable-comment
  • bugfix/issue-1294
  • bugfix/issue-1452
  • bugfix/issue-2081
  • bugfix/issue-2082
  • bugfix/issue-2095
  • bugfix/issue-2120
  • bugfix/issue-2124
  • bugfix/issue-2143
  • bugfix/issue-2144
  • bugfix/issue-2147
  • bugfix/issue-2151
  • bugfix/issue-2153
  • bugfix/issue-2158
  • bugfix/issue-2185
  • bugfix/issue-2195
  • bugfix/issue-2202
  • bugfix/issue-2203
  • bugfix/issue-2205
  • bugfix/issue-2211
  • bugfix/issue-2224
  • bugfix/issue-2232
  • bugfix/issue-2236
  • bugfix/issue-2246
  • bugfix/issue-2291
  • bugfix/issue-2295
  • bugfix/issue-2307
  • bugfix/issue-2309
  • bugfix/issue-2320
  • bugfix/issue-2321
  • bugfix/issue-2330
  • bugfix/issue-2333
  • bugfix/issue-2341
  • bugfix/issue-2346
  • bugfix/issue-2347
  • bugfix/issue-2352
  • bugfix/issue-2358
  • bugfix/issue-2359
  • bugfix/issue-2360
  • bugfix/issue-2365
  • bugfix/issue-2366
  • bugfix/issue-2376
  • bugfix/issue-2382
  • bugfix/issue-2384
  • bugfix/issue-2394
  • bugfix/issue-2399
  • bugfix/issue-2429
  • bugfix/issue-2465
  • bugfix/issue-2467
  • bugfix/issue-2468
  • bugfix/issue-2472
  • bugfix/issue-2480
  • bugfix/issue-2488
  • bugfix/issue-2560
  • bugfix/issue-2579
  • bugfix/issue-2582
  • bugfix/issue-2604
  • bugfix/issue-2863
  • bugfix/issue_1007
  • bugfix/issue_1016
  • bugfix/issue_1021
  • bugfix/issue_1025
  • bugfix/issue_1035
  • bugfix/issue_1049
  • bugfix/issue_1053
  • bugfix/issue_1056
  • bugfix/issue_1068
  • bugfix/issue_1075
  • bugfix/issue_1080
  • bugfix/issue_1081
  • bugfix/issue_1082
  • bugfix/issue_1092
  • bugfix/issue_1093
  • bugfix/issue_1096
  • bugfix/issue_1101
  • bugfix/issue_1103
  • bugfix/issue_1106
  • bugfix/issue_1115
  • bugfix/issue_1117
  • bugfix/issue_1130
  • bugfix/issue_1153
  • bugfix/issue_1158
  • bugfix/issue_1167
  • bugfix/issue_1168
  • bugfix/issue_1169
  • bugfix/issue_1170
  • bugfix/issue_1171
  • bugfix/issue_1178
  • bugfix/issue_1187
  • bugfix/issue_1188
  • bugfix/issue_1192
  • bugfix/issue_1417
  • bugfix/issue_143
  • bugfix/issue_1537
  • bugfix/issue_1583
  • bugfix/issue_1661
  • bugfix/issue_1706
  • bugfix/issue_1709
  • bugfix/issue_1723
  • bugfix/issue_1732
  • bugfix/issue_1746
  • bugfix/issue_1752
  • bugfix/issue_1763
  • bugfix/issue_1768
  • bugfix/issue_1786
  • bugfix/issue_1792
  • bugfix/issue_1793
  • bugfix/issue_1793_ci
  • bugfix/issue_1804
  • bugfix/issue_1807
  • bugfix/issue_1834
  • bugfix/issue_1839
  • bugfix/issue_1856
  • bugfix/issue_1889
  • bugfix/issue_1927
  • bugfix/issue_1930
  • bugfix/issue_1931
  • bugfix/issue_1944
  • bugfix/issue_1945
  • bugfix/issue_1947
  • bugfix/issue_1971
  • bugfix/issue_1977
  • bugfix/issue_1991_and_1996
  • bugfix/issue_2000
  • bugfix/issue_2016
  • bugfix/issue_2017
  • bugfix/issue_2020
  • bugfix/issue_2023
  • bugfix/issue_2031
  • bugfix/issue_2074
  • bugfix/issue_2106
  • bugfix/issue_317
  • bugfix/issue_442
  • bugfix/issue_592
  • bugfix/issue_593
  • bugfix/issue_674
  • bugfix/issue_823
  • bugfix/issue_855
  • bugfix/issue_930
  • bugfix/issue_938
  • bugfix/issue_940
  • bugfix/issue_941
  • bugfix/issue_942
  • bugfix/issue_943
  • bugfix/issue_945
  • bugfix/issue_947
  • bugfix/issue_948
  • bugfix/issue_950
  • bugfix/issue_972
  • bugfix/issue_976
  • bugfix/issue_978
  • bugfix/issue_980
  • bugfix/issue_988
  • bugfix/issues_938
  • bugfix/issues_940
  • bugfix/issues_941
  • bugfix/join_paths-util
  • bugfix/leak-function-signature
  • bugfix/loop-performance
  • bugfix/mac-osx-build
  • bugfix/math
  • bugfix/math-ops-with-units
  • bugfix/media-query-with-comments
  • bugfix/mem-leak
  • bugfix/mem-leak-custom-fn-sig
  • bugfix/mem-leak-in-c-api
  • bugfix/memory-corruption
  • bugfix/memory-edge-case
  • bugfix/memory-issue
  • bugfix/memory-leak
  • bugfix/merge-final-ops
  • bugfix/minus-op-parsing
  • bugfix/misc-segfaults
  • bugfix/missing-fn-declarations
  • bugfix/missing-initializer
  • bugfix/move-big-stack-to-heap
  • bugfix/move-rpm-spec
  • bugfix/msvc-memory-manager
  • bugfix/nesting-stack-size-guard
  • bugfix/newline-before-scope
  • bugfix/nr-cmp-map-key
  • bugfix/null-pointer-access-check-nesting
  • bugfix/null-ptr-access
  • bugfix/only-parse-kept-comments
  • bugfix/parent-connect-twice
  • bugfix/parent-selector-eval
  • bugfix/preserve-separator-with-varargs
  • bugfix/propset-evaluation
  • bugfix/pstate-static-value
  • bugfix/readd-plugin-api-getters
  • bugfix/regressions-3.3.3
  • bugfix/relative-paths-on-win
  • bugfix/remove-ci-sass-version-flag
  • bugfix/revert-compound-re-order-non-extended
  • bugfix/rgb-hue-from-zero-saturation
  • bugfix/root-mixin-with-parent-error
  • bugfix/segfault-nested-properties
  • bugfix/segfault-remove-parents
  • bugfix/segfaults
  • bugfix/smart-os-build-regression
  • bugfix/smartos-compilation
  • bugfix/smartos-test
  • bugfix/source-map-inc-paths
  • bugfix/source-map-lex-back
  • bugfix/source-mappings
  • bugfix/sourcemap-crutch
  • bugfix/sourcemap/crutch
  • bugfix/sourcemap/unicode
  • bugfix/sourcemaps
  • bugfix/spaces-in-div-op
  • bugfix/srcmap-selector-schema
  • bugfix/static-colors
  • bugfix/str-slice-function
  • bugfix/str-slice-negative-length
  • bugfix/string-division-op
  • bugfix/string-op-non-lhs-strings
  • bugfix/thread-safety-recursions-check
  • bugfix/trailing-bem-lookahead
  • bugfix/unc-relative-paths
  • bugfix/unc-relative-paths-old
  • bugfix/unit-conversion
  • bugfix/unit-identifier-parsing
  • bugfix/unit-parse-handling
  • bugfix/uri-variable-interpolation
  • bugfix/url-keyword
  • bugfix/url-trailing-spaces
  • bugfix/use-after-free-in-cssize
  • bugfix/value-from-arglist
  • bugfix/value-schema
  • bugfix/value-schema-parsing
  • bugfix/whitespace-issue-wrapped-selector
  • bugfix/win-abspath-without-dir
  • bugfix/wrong-list-spacing
  • build/automake
  • build/fix-msys2-mingw64-automake
  • build/improve-makefile
  • build/improve-makefile-compat
  • build/include-version
  • build/profiling
  • build/sassc-dev
  • build/sassc-tester
  • build/split-ast
  • change/default-scss-to-sass
  • ci-enable/address-sanitizer
  • ci-test
  • ci/clang-fixes
  • ci/fix-travis-mac-osx-build
  • ci/probe-todo
  • clang-warnings
  • cleanup/makefile-windows
  • cleanup/roundhouse-1
  • cleanup/roundhouse-2
  • code-hardening
  • compat/gcc-4.4
  • debug/extend-sources
  • devops/ci-spec-runner-inc-path
  • dlopen
  • doc/recommended-impls
  • docs/unicode
  • documentation/sass_value_api
  • errmsg/missing-fn-argument
  • expose-quote-function
  • feature/C-API-expose-fn-call-stack
  • feature/C-API-mem-allocator
  • feature/ast-subweave
  • feature/attribute-selector-modifier
  • feature/backport-parser
  • feature/backtraces
  • feature/build-dll-win-mingw
  • feature/build-msvc
  • feature/c-api-fn-call-stack
  • feature/c-api-fn-call-stack-travis-ci
  • feature/c-api-string-quoted
  • feature/cleanings
  • feature/cleanup-to-string-visitor
  • feature/cmake-build
  • feature/cmake-files
  • feature/code-clean-ups
  • feature/code-cleanup
  • feature/color-interpolation-warning
  • feature/configurable-indent-and-lf
  • feature/configurable-linefeed
  • feature/coveralls-metrics
  • feature/custom-allocator
  • feature/custom-import
  • feature/dart-sass-rename-1
  • feature/debug-statement
  • feature/default-args-cust-fn
  • feature/eliminate-nested-not
  • feature/error-on-multiple-imports
  • feature/exp-unit-math
  • feature/expose-file-resolver
  • feature/extend-wrapped-selectors
  • feature/final-api-improvements
  • feature/github-contrib-hints
  • feature/global-assignments
  • feature/guard-json-stringify
  • feature/header-inc-guards
  • feature/header-include-guards
  • feature/hsla-colors
  • feature/ie-property-parsing
  • feature/import-css
  • feature/import-recursion-check
  • feature/import-with-media-queries
  • feature/importer-parent-context
  • feature/improve-compare-operators
  • feature/improve-interpolate
  • feature/improved-api
  • feature/improved-source-maps
  • feature/improved-source-maps-rebase
  • feature/interpolate-ns-in-ref-comb
  • feature/issue-1667
  • feature/issue_1146
  • feature/libsass-spec-ci
  • feature/long-path-win
  • feature/move-copy-strings-to-util
  • feature/msc-git-version
  • feature/new-colors
  • feature/number-fixes
  • feature/output-emitter
  • feature/overload-error-fn
  • feature/performance-alpha
  • feature/performance-extend
  • feature/plugin-functions
  • feature/prepare-for-refactor
  • feature/pseudo-selector-compare
  • feature/query-compiled-versions
  • feature/refactor-contextualize
  • feature/refactor-namespace
  • feature/remote-win-unc-locations
  • feature/restore-token-on-fail
  • feature/rounding-precision
  • feature/selector-functions
  • feature/selector-functions-basic
  • feature/selector-namespace
  • feature/shared-source-data
  • feature/source-map/map-more-tokens
  • feature/source-reorganization
  • feature/source-reorganization-test
  • feature/static-color-maps
  • feature/static-native-fn-params
  • feature/tap-report
  • feature/unicode-sequence-parser
  • feature/unify-refactoring
  • feature/unify-refactoring-2
  • feature/url-suffix-fn-parsing
  • feature/warn-double-parent-selector
  • feature/win-dll-build-mingw
  • feature/working-path-for-import
  • feature/wrap-selector-srcmap
  • feature/wrapped-selectors
  • features/clean-c-api-compat
  • fix-trailing-semicolon-removal
  • fix/autotools-versioning
  • fix/build-older-gcc
  • fix/c-sass-value-mem-leak
  • fix/ci-issues
  • fix/code-coverage
  • fix/color-token-ops
  • fix/const_sass_values
  • fix/copy-context-options
  • fix/custom-precision
  • fix/hardened-api
  • fix/issue/789
  • fix/issue_1322
  • fix/issue_1328
  • fix/mac-build
  • fix/makefile-portability
  • fix/minus-op-parsing
  • fix/pointer-compare
  • fix/random-numbers
  • fix/sass_interface_api
  • fix/source-map-771
  • fix/source-map-issues
  • fix/string-in-interpolates
  • fix/url-parsing
  • fixes/issue_1096
  • fixes/issue_1355
  • fixes/issue_1361
  • fixup/object-compare
  • fixup/resharper
  • hotfix/invalid-error-indicator
  • hotfix/issue_1086
  • hotfix/issue_1087
  • hotfix/skip-compile-on-error
  • hotfix/test-regression-1243
  • improve-mem-footprint
  • improve/selector-parsing
  • issue/550
  • issue/550-c-interface
  • issue/init-context-options
  • leaks
  • libsass-4.0-epic
  • libsass-4.0-exp
  • lower-compact-to-warning
  • master
  • memory/ref-count
  • memory/ref-count-3.4
  • merging
  • mine-canary/bolt-bench
  • move-ci-from-travis-to-github-actions
  • negative-number-output
  • netbsd-2120
  • nschonni/cleanups
  • ntqa/del-obsolete-unit-tests
  • perf-refactor/loops-and-env
  • perf-refactor/remove-textual
  • perf/memoize-extend
  • perf/tight-loops
  • perl-libsass/gcc-4.4
  • readme
  • refactor-number-inspect
  • refactor/cleanup-shared-ptr
  • refactor/context
  • refactor/delayed-values
  • refactor/directive-parsing
  • refactor/emitter-execution
  • refactor/emitter-preparation
  • refactor/extend-node
  • refactor/icompatible-unit-exception
  • refactor/libsass-4-alpha
  • refactor/libsass-4-alpha-async
  • refactor/operand-struct
  • refactor/output-emitter
  • refactor/output-preparation
  • refactor/output-preparation-nested
  • refactor/parentize
  • refactor/parser-3.3-rc2
  • refactor/prelexer
  • refactor/root-flags
  • refactor/selector-schema
  • refactor/sources-to-subdir
  • refactoring/parser-for-3.3
  • refactoring/parser-for-3.3-B
  • refactoring/parser-for-3.3-ekskimn
  • refactoring/parser-for-3.3-rebase-1
  • refactoring/parser-for-3.3-rebase-2
  • refactoring/preparation-for-3.3.1
  • refactoring/prepare-for-value-op-export
  • regression/820
  • releng/ci
  • releng/readme-credits
  • releng/trigger-ci
  • remove/imge-url-fn
  • roundhouse-cleanup-02
  • roundhouse-cleanup-03
  • roundhouse-cleanup-03-local
  • sass-3.5/backeted-lists
  • sass-3.5/invert-with-weight
  • sass2scss-1.1.0
  • sass2scss/upgrade
  • selector-lt-and-eq-functions
  • source-map-sources
  • source-map-test
  • srcmap/parent-selector
  • test-interpolate-merging
  • test-travis-ci
  • test/CI
  • test/appveyor
  • test/autotools-versioning
  • test/build-travis
  • test/code-coverage
  • test/emitter-implementation
  • test/fix-mingw
  • test/gcc-4.4
  • test/ldflags
  • test/ldflags-new
  • test/mac-travis
  • test/parent-selector
  • test/srcmap
  • test/travis
  • test/travis-ci
  • test/travis-ci-coverage
  • test/travis-ci-specs
  • test/travis-osx-support
  • test/unified-build
  • testing
  • travis-ci/output-styles-tests
  • update-readme
  • wip/dead-code-paths
  • wip/ugly-but-working

pending completion
2075

push

travis-ci

mgreter
Fix issue when using intermediate string returns

In MSVC the following can lead to segfault:
sass_copy_c_string(stream.str().c_str());
Reason is that the string returned by str() is disposed before
sass_copy_c_string is invoked. The string is actually a stack
object, so indeed nobody is holding on to it. So it seems
perfectly fair to release it right away. So the const char*
by c_str will point to invalid memory. I'm not sure if this is
the behavior for all compiler, but I'm pretty sure we would
have gotten more issues reported if that would be the case.
Wrapping it in a functions seems the cleanest approach as the
function must hold on to the stack variable until it's done.

10891 of 13796 relevant lines covered (78.94%)

665547.39 hits per line

Relevant lines Covered
Build:
Build:
13796 RELEVANT LINES 10891 COVERED LINES
665547.39 HITS PER LINE
Source Files on bugfix/issue_2046
Detailed source file information is not available for this build.

Recent builds

Builds Branch Commit Type Ran Committer Via Coverage
2075 bugfix/issue_2046 Fix issue when using intermediate string returns In MSVC the following can lead to segfault: sass_copy_c_string(stream.str().c_str()); Reason is that the string returned by str() is disposed before sass_copy_c_string is invoked. The string is act... push 24 Apr 2016 11:12PM UTC mgreter travis-ci pending completion  
See All Builds (1771)
  • Repo on GitHub
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc