Old swupd 2.87 so this might not be applicable anymore and I can check that after updating to a newer version, but in the meantime let me dump the information that I have so far here.
When swupd client runs out of disk space during a "swupd bundle-add" on Ostro OS, it segfaults. The reason is using a NULL pointer in file->filename:
gdb) where
#0 __GI___strnlen (str=0x0, maxlen=4095)
at /usr/src/debug/glibc/2.23-r0/git/string/strnlen.c:120
#1 0xb7e8cd41 in __GI_strncpy (s1=0xbfffe76c "", s2=0x0, n=4095)
at /usr/src/debug/glibc/2.23-r0/git/string/strncpy.c:29
#2 0xb7fb59e9 in strncpy (__len=4095, __src=<optimized out>,
__dest=0xbfffe76c "") at /usr/include/bits/string3.h:126
#3 format_log_message (log_type=log_type@entry=1,
priority=priority@entry=log_error, file=file@entry=0x80022fe8,
msg=0xb7fc3bf4 "short write", filename=0xb7fc3bb1 "src/curl.c",
linenr=151, fmt=0xb7fc3aa8 "\\*outfile=\"%s\",strerror=\"%s\"*\\",
ap=0xbffff81c "\330I\003\200\v\332\363\267")
at /usr/src/debug/swupd-client/2.87-r0/swupd-client-2.87/src/log.c:416
#4 0xb7fb5ef8 in __log_message (priority=log_error, file=0x80022fe8,
class_msg=class_file_io, msg=0xb7fc3bf4 "short write",
filename=0xb7fc3bb1 "src/curl.c", linenr=151,
fmt=0xb7fc3aa8 "\\*outfile=\"%s\",strerror=\"%s\"*\\")
at /usr/src/debug/swupd-client/2.87-r0/swupd-client-2.87/src/log.c:559
#5 0xb7fb136a in swupd_download_file (ptr=0x80023bc4, size=1, nmemb=16384,
userdata=0x80022fe8)
at /usr/src/debug/swupd-client/2.87-r0/swupd-client-2.87/src/curl.c:150
#6 0xb7ba0604 in Curl_client_chop_write (conn=0x80035068, type=1,
ptr=0x80023bc4 "\261\234*E\001\347@\351;t\v\277W\303!=\244\250T\360\022%+\332\t\213\367\375{B\301\r\t:\270 \253\026\301jL\230\274\373\274\316\310\t\ax\313\2---Type <return> to continue, or q <return> to quit---
71\337\217\375\344k\344\373^G\352w+W\312@\207\353j\223\275+1r\177\371\200\300\352\332$v\345\\}{\005\263\376\231r\244\325\300z\202Q\244jGN \271\300\223\203\244\342\206\301TM\270\376\066\362V\221Y+\332\246\325\022\323\343\"\323\063\374H38\037M\272\062\061\320\235\367E\310\001\177\026\304\233\341L\245\261\064\311\312\037\332\303\216O\334s&\227\345\213\030\021\031\067\354_J\232R\322N\235\025\245K\322\326\376m\220v\343R\222TvO\205\261\373\257!\002"..., len=16384)
at /usr/src/debug/curl/7.47.1-r0/curl-7.47.1/lib/sendf.c:434
#7 0xb7ba07c5 in Curl_client_write (conn=0x80035068, type=1,
ptr=0x80023bc4 "\261\234*E\001\347@\351;t\v\277W\303!=\244\250T\360\022%+\332\t\213\367\375{B\301\r\t:\270 \253\026\301jL\230\274\373\274\316\310\t\ax\313\271\337\217\375\344k\344\373^G\352w+W\312@\207\353j\223\275+1r\177\371\200\300\352\332$v\345\\}{\005\263\376\231r\244\325\300z\202Q\244jGN \271\300\223\203\244\342\206\301TM\270\376\066\362V\221Y+\332\246\325\022\323\343\"\323\063\374H38\037M\272\062\061\320\235\367E\310\001\177\026\304\233\341L\245\261\064\311\312\037\332\303\216O\334s&\227\345\213\030\021\031\067\354_J\232R\322N\235\025\245K\322\326\376m\220v\343R\222TvO\205\261\373\257!\002"..., len=<optimized out>)
at /usr/src/debug/curl/7.47.1-r0/curl-7.47.1/lib/sendf.c:511
#8 0xb7bb21f0 in readwrite_data (done=0xbffff983,
didwhat=<synthetic pointer>, k=0x8002369c, conn=0x80035068,
data=0x80023650)
at /usr/src/debug/curl/7.47.1-r0/curl-7.47.1/lib/transfer.c:753
#9 Curl_readwrite (conn=0x80035068, data=0x80023650, done=0xbffff983)
at /usr/src/debug/curl/7.47.1-r0/curl-7.47.1/lib/transfer.c:1074
---Type <return> to continue, or q <return> to quit---
#10 0xb7bbaf98 in multi_runsingle (multi=multi@entry=0x80023318, now=...,
data=0x80023650)
at /usr/src/debug/curl/7.47.1-r0/curl-7.47.1/lib/multi.c:1544
#11 0xb7bbbd9e in curl_multi_perform (multi_handle=0x80023318,
running_handles=0xbffffa40)
at /usr/src/debug/curl/7.47.1-r0/curl-7.47.1/lib/multi.c:1821
#12 0xb7bb3c66 in easy_transfer (multi=0x80023318)
at /usr/src/debug/curl/7.47.1-r0/curl-7.47.1/lib/easy.c:724
#13 easy_perform (events=false, data=0x80023650)
at /usr/src/debug/curl/7.47.1-r0/curl-7.47.1/lib/easy.c:812
#14 curl_easy_perform (easy=0x80023650)
at /usr/src/debug/curl/7.47.1-r0/curl-7.47.1/lib/easy.c:831
#15 0xb7fb1917 in swupd_curl_get_file (
url=0x80034a40 "http://192.168.7.1:8000/41213300/pack-full-dev-from-0.tar", filename=0x800349d8 "/var/lib/swupd/pack-full-dev-from-0-to-41213300.tar",
file=0x0, in_memory_version_string=0x0, pack=true)
at /usr/src/debug/swupd-client/2.87-r0/swupd-client-2.87/src/curl.c:260
#16 0xb7fb8d6a in download_pack (module=0x8000bae8 "full-dev",
newversion=41213300, oldversion=0)
at /usr/src/debug/swupd-client/2.87-r0/swupd-client-2.87/src/packs.c:63
#17 download_subscribed_packs (oldversion=0, newversion=41213300,
required=true)
at /usr/src/debug/swupd-client/2.87-r0/swupd-client-2.87/src/packs.c:133
---Type <return> to continue, or q <return> to quit---
#18 0xb7fbde90 in install_bundles (bundles=<optimized out>)
at /usr/src/debug/swupd-client/2.87-r0/swupd-client-2.87/src/bundle.c:391
#19 0x800040d2 in bundle_add_main (argc=4, argv=0xbffffd98)
at /usr/src/debug/swupd-client/2.87-r0/swupd-client-2.87/src/clr_bundle_add.c:153
#20 0x80001865 in main (argc=5, argv=0xbffffd94)
at /usr/src/debug/swupd-client/2.87-r0/swupd-client-2.87/src/swupd.c:138
(gdb) p file->filename
$5 = 0x0