aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLibravatar Reiner Herrmann <reiner@reiner-h.de>2022-10-23 15:51:28 +0200
committerLibravatar Reiner Herrmann <reiner@reiner-h.de>2022-10-23 17:20:31 +0200
commita86c4fe93f130752a862ff0a5ee75f073c3586b1 (patch)
tree30a4b67b1450fe22831196a435781219b8ba26e7
parentinclude limits.h instead of manually defining LINE_MAX (diff)
downloadfirejail-a86c4fe93f130752a862ff0a5ee75f073c3586b1.tar.gz
firejail-a86c4fe93f130752a862ff0a5ee75f073c3586b1.tar.zst
firejail-a86c4fe93f130752a862ff0a5ee75f073c3586b1.zip
check for availability of symbols instead of glibc defines
in musl they are just redefines of the non-64 versions
-rw-r--r--src/libtrace/libtrace.c20
-rw-r--r--src/libtracelog/libtracelog.c20
2 files changed, 20 insertions, 20 deletions
diff --git a/src/libtrace/libtrace.c b/src/libtrace/libtrace.c
index c0832cbde..aa37bb758 100644
--- a/src/libtrace/libtrace.c
+++ b/src/libtrace/libtrace.c
@@ -44,8 +44,6 @@
44// break recursivity on fopen call 44// break recursivity on fopen call
45typedef FILE *(*orig_fopen_t)(const char *pathname, const char *mode); 45typedef FILE *(*orig_fopen_t)(const char *pathname, const char *mode);
46static orig_fopen_t orig_fopen = NULL; 46static orig_fopen_t orig_fopen = NULL;
47typedef FILE *(*orig_fopen64_t)(const char *pathname, const char *mode);
48static orig_fopen64_t orig_fopen64 = NULL;
49typedef int (*orig_access_t)(const char *pathname, int mode); 47typedef int (*orig_access_t)(const char *pathname, int mode);
50static orig_access_t orig_access = NULL; 48static orig_access_t orig_access = NULL;
51 49
@@ -341,7 +339,9 @@ FILE *fopen(const char *pathname, const char *mode) {
341 return rv; 339 return rv;
342} 340}
343 341
344#ifdef __GLIBC__ 342#ifndef fopen64
343typedef FILE *(*orig_fopen64_t)(const char *pathname, const char *mode);
344static orig_fopen64_t orig_fopen64 = NULL;
345FILE *fopen64(const char *pathname, const char *mode) { 345FILE *fopen64(const char *pathname, const char *mode) {
346 if (!orig_fopen64) 346 if (!orig_fopen64)
347 orig_fopen64 = (orig_fopen_t)dlsym(RTLD_NEXT, "fopen64"); 347 orig_fopen64 = (orig_fopen_t)dlsym(RTLD_NEXT, "fopen64");
@@ -350,7 +350,7 @@ FILE *fopen64(const char *pathname, const char *mode) {
350 tprintf(ftty, "%u:%s:fopen64 %s:%p\n", mypid, myname, pathname, rv); 350 tprintf(ftty, "%u:%s:fopen64 %s:%p\n", mypid, myname, pathname, rv);
351 return rv; 351 return rv;
352} 352}
353#endif /* __GLIBC__ */ 353#endif
354 354
355 355
356// freopen 356// freopen
@@ -365,7 +365,7 @@ FILE *freopen(const char *pathname, const char *mode, FILE *stream) {
365 return rv; 365 return rv;
366} 366}
367 367
368#ifdef __GLIBC__ 368#ifndef freopen64
369typedef FILE *(*orig_freopen64_t)(const char *pathname, const char *mode, FILE *stream); 369typedef FILE *(*orig_freopen64_t)(const char *pathname, const char *mode, FILE *stream);
370static orig_freopen64_t orig_freopen64 = NULL; 370static orig_freopen64_t orig_freopen64 = NULL;
371FILE *freopen64(const char *pathname, const char *mode, FILE *stream) { 371FILE *freopen64(const char *pathname, const char *mode, FILE *stream) {
@@ -376,7 +376,7 @@ FILE *freopen64(const char *pathname, const char *mode, FILE *stream) {
376 tprintf(ftty, "%u:%s:freopen64 %s:%p\n", mypid, myname, pathname, rv); 376 tprintf(ftty, "%u:%s:freopen64 %s:%p\n", mypid, myname, pathname, rv);
377 return rv; 377 return rv;
378} 378}
379#endif /* __GLIBC__ */ 379#endif
380 380
381// unlink 381// unlink
382typedef int (*orig_unlink_t)(const char *pathname); 382typedef int (*orig_unlink_t)(const char *pathname);
@@ -447,7 +447,7 @@ int stat(const char *pathname, struct stat *statbuf) {
447 return rv; 447 return rv;
448} 448}
449 449
450#ifdef __GLIBC__ 450#ifndef stat64
451typedef int (*orig_stat64_t)(const char *pathname, struct stat64 *statbuf); 451typedef int (*orig_stat64_t)(const char *pathname, struct stat64 *statbuf);
452static orig_stat64_t orig_stat64 = NULL; 452static orig_stat64_t orig_stat64 = NULL;
453int stat64(const char *pathname, struct stat64 *statbuf) { 453int stat64(const char *pathname, struct stat64 *statbuf) {
@@ -458,7 +458,7 @@ int stat64(const char *pathname, struct stat64 *statbuf) {
458 tprintf(ftty, "%u:%s:stat64 %s:%d\n", mypid, myname, pathname, rv); 458 tprintf(ftty, "%u:%s:stat64 %s:%d\n", mypid, myname, pathname, rv);
459 return rv; 459 return rv;
460} 460}
461#endif /* __GLIBC__ */ 461#endif
462 462
463// lstat 463// lstat
464typedef int (*orig_lstat_t)(const char *pathname, struct stat *statbuf); 464typedef int (*orig_lstat_t)(const char *pathname, struct stat *statbuf);
@@ -472,7 +472,7 @@ int lstat(const char *pathname, struct stat *statbuf) {
472 return rv; 472 return rv;
473} 473}
474 474
475#ifdef __GLIBC__ 475#ifndef lstat64
476typedef int (*orig_lstat64_t)(const char *pathname, struct stat64 *statbuf); 476typedef int (*orig_lstat64_t)(const char *pathname, struct stat64 *statbuf);
477static orig_lstat64_t orig_lstat64 = NULL; 477static orig_lstat64_t orig_lstat64 = NULL;
478int lstat64(const char *pathname, struct stat64 *statbuf) { 478int lstat64(const char *pathname, struct stat64 *statbuf) {
@@ -483,7 +483,7 @@ int lstat64(const char *pathname, struct stat64 *statbuf) {
483 tprintf(ftty, "%u:%s:lstat64 %s:%d\n", mypid, myname, pathname, rv); 483 tprintf(ftty, "%u:%s:lstat64 %s:%d\n", mypid, myname, pathname, rv);
484 return rv; 484 return rv;
485} 485}
486#endif /* __GLIBC__ */ 486#endif
487 487
488// opendir 488// opendir
489typedef DIR *(*orig_opendir_t)(const char *pathname); 489typedef DIR *(*orig_opendir_t)(const char *pathname);
diff --git a/src/libtracelog/libtracelog.c b/src/libtracelog/libtracelog.c
index 760ac7612..fc2eba638 100644
--- a/src/libtracelog/libtracelog.c
+++ b/src/libtracelog/libtracelog.c
@@ -39,8 +39,6 @@
39// break recursivity on fopen call 39// break recursivity on fopen call
40typedef FILE *(*orig_fopen_t)(const char *pathname, const char *mode); 40typedef FILE *(*orig_fopen_t)(const char *pathname, const char *mode);
41static orig_fopen_t orig_fopen = NULL; 41static orig_fopen_t orig_fopen = NULL;
42typedef FILE *(*orig_fopen64_t)(const char *pathname, const char *mode);
43static orig_fopen64_t orig_fopen64 = NULL;
44 42
45// 43//
46// blacklist storage 44// blacklist storage
@@ -405,7 +403,9 @@ FILE *fopen(const char *pathname, const char *mode) {
405 return rv; 403 return rv;
406} 404}
407 405
408#ifdef __GLIBC__ 406#ifndef fopen64
407typedef FILE *(*orig_fopen64_t)(const char *pathname, const char *mode);
408static orig_fopen64_t orig_fopen64 = NULL;
409FILE *fopen64(const char *pathname, const char *mode) { 409FILE *fopen64(const char *pathname, const char *mode) {
410#ifdef DEBUG 410#ifdef DEBUG
411 printf("%s %s\n", __FUNCTION__, pathname); 411 printf("%s %s\n", __FUNCTION__, pathname);
@@ -420,7 +420,7 @@ FILE *fopen64(const char *pathname, const char *mode) {
420 FILE *rv = orig_fopen64(pathname, mode); 420 FILE *rv = orig_fopen64(pathname, mode);
421 return rv; 421 return rv;
422} 422}
423#endif /* __GLIBC__ */ 423#endif
424 424
425 425
426// freopen 426// freopen
@@ -441,7 +441,7 @@ FILE *freopen(const char *pathname, const char *mode, FILE *stream) {
441 return rv; 441 return rv;
442} 442}
443 443
444#ifdef __GLIBC__ 444#ifndef freopen64
445typedef FILE *(*orig_freopen64_t)(const char *pathname, const char *mode, FILE *stream); 445typedef FILE *(*orig_freopen64_t)(const char *pathname, const char *mode, FILE *stream);
446static orig_freopen64_t orig_freopen64 = NULL; 446static orig_freopen64_t orig_freopen64 = NULL;
447FILE *freopen64(const char *pathname, const char *mode, FILE *stream) { 447FILE *freopen64(const char *pathname, const char *mode, FILE *stream) {
@@ -458,7 +458,7 @@ FILE *freopen64(const char *pathname, const char *mode, FILE *stream) {
458 FILE *rv = orig_freopen64(pathname, mode, stream); 458 FILE *rv = orig_freopen64(pathname, mode, stream);
459 return rv; 459 return rv;
460} 460}
461#endif /* __GLIBC__ */ 461#endif
462 462
463// unlink 463// unlink
464typedef int (*orig_unlink_t)(const char *pathname); 464typedef int (*orig_unlink_t)(const char *pathname);
@@ -565,7 +565,7 @@ int stat(const char *pathname, struct stat *buf) {
565 return rv; 565 return rv;
566} 566}
567 567
568#ifdef __GLIBC__ 568#ifndef stat64
569typedef int (*orig_stat64_t)(const char *pathname, struct stat64 *buf); 569typedef int (*orig_stat64_t)(const char *pathname, struct stat64 *buf);
570static orig_stat64_t orig_stat64 = NULL; 570static orig_stat64_t orig_stat64 = NULL;
571int stat64(const char *pathname, struct stat64 *buf) { 571int stat64(const char *pathname, struct stat64 *buf) {
@@ -582,7 +582,7 @@ int stat64(const char *pathname, struct stat64 *buf) {
582 int rv = orig_stat64(pathname, buf); 582 int rv = orig_stat64(pathname, buf);
583 return rv; 583 return rv;
584} 584}
585#endif /* __GLIBC__ */ 585#endif
586 586
587typedef int (*orig_lstat_t)(const char *pathname, struct stat *buf); 587typedef int (*orig_lstat_t)(const char *pathname, struct stat *buf);
588static orig_lstat_t orig_lstat = NULL; 588static orig_lstat_t orig_lstat = NULL;
@@ -601,7 +601,7 @@ int lstat(const char *pathname, struct stat *buf) {
601 return rv; 601 return rv;
602} 602}
603 603
604#ifdef __GLIBC__ 604#ifndef lstat64
605typedef int (*orig_lstat64_t)(const char *pathname, struct stat64 *buf); 605typedef int (*orig_lstat64_t)(const char *pathname, struct stat64 *buf);
606static orig_lstat64_t orig_lstat64 = NULL; 606static orig_lstat64_t orig_lstat64 = NULL;
607int lstat64(const char *pathname, struct stat64 *buf) { 607int lstat64(const char *pathname, struct stat64 *buf) {
@@ -618,7 +618,7 @@ int lstat64(const char *pathname, struct stat64 *buf) {
618 int rv = orig_lstat64(pathname, buf); 618 int rv = orig_lstat64(pathname, buf);
619 return rv; 619 return rv;
620} 620}
621#endif /* __GLIBC__ */ 621#endif
622 622
623// access 623// access
624typedef int (*orig_access_t)(const char *pathname, int mode); 624typedef int (*orig_access_t)(const char *pathname, int mode);